0

我是 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 字段。例如,该表将充满客户,但续订日期列将仅显示拥有客户的客户的日期。谢谢

4

2 回答 2

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 个单独的字段。

于 2013-04-24T15:48:54.440 回答
0

最简单的方法是将续订日期存储为日期并允许空值,然后您只需执行以下操作:

SELECT Forename, Surname, Organization, RenewalDate 
FROM Client
于 2013-04-24T15:59:00.323 回答