有一个简单的select,where语句的问题

时间:2013-04-24 15:39:53

标签: mysql sql select where-clause

我是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该表将包含客户端,但续订日期列仅显示具有一个客户的客户的日期。感谢

2 个答案:

答案 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