我是SQL新手,似乎无法在语句的仅一部分上使用WHERE子句。例如,(基本上写成)

SELECT Forename, Surname, Organisation
FROM Client table

SELECT Renewal day AND Renewal month AS Renewal date
FROM Client table
WHERE Renewal day <> 0


我需要所有这些都是一个陈述,而且还需要使where子句不会影响“姓氏”,“姓氏”和“组织”字段。例如,表中将有很多客户,但续订日期列将仅显示有一个客户的日期。谢谢

最佳答案

SELECT Forename, Surname, Organisation, IF(Renewal day <> 0, Renewal day AND Renewal month, '') as Renewal
FROM Client table


应该做到的。尽管您可以使用以下命令,但由于不会喜欢IF中的AND语句,因此不会立即运行:

IF(Renewal day <> 0, CONCAT(Renewal day,Renewal month), '') as Renewal


要么

IF(Renewal day <> 0, Renewal day) as renewDay, IF(Renewal day <> 0, Renewal month, '') as renewMonth


有2个单独的字段。

关于mysql - 简单的where语句选择有问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16196302/

10-10 03:21