2013-04-24 20 views
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子句不影响录名字,姓氏和组织领域。例如,该表格将充满客户端,但续订日期列将只显示有客户端的日期。谢谢

+0

这是MySQL – Johnathan 2013-04-24 15:42:06

+1

你能提供一些示例数据,哪些是你实际上是希望得到从查询? – tster 2013-04-24 15:42:10

+0

它将拥有所有的客户数据(姓氏,姓氏,组织),但只包含那些有更新日期的人 – Johnathan 2013-04-24 15:44:08

回答

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个独立的领域。

0

最简单的事情就是更新日期存储为日期,并允许空值,那么你只是做:

SELECT Forename, Surname, Organization, RenewalDate 
FROM Client