我是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子句不影响Forename,Surname和Organization字段。 E.g该表将包含客户端,但续订日期列仅显示具有一个客户的客户的日期。感谢
答案 0 :(得分:1)
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个单独的字段。
答案 1 :(得分:0)
最简单的方法是将续订日期存储为日期并允许空值,然后您只需:
SELECT Forename, Surname, Organization, RenewalDate
FROM Client