嗨什麼,我試圖實現是在具有動態列名稱的查詢太多行,其中取決於列是否爲空或不是條款。案例子查詢返回內where子句
因此,作爲一個例子,如果某行的預約時間是不爲空,where子句將是:
WHERE `Building ID` = '1' and `Appointment Date`='2013-10-10' ;
而且如果預約時間爲null,where子句將是:
WHERE `Building ID` = '1' and `Backup Date`='2013-10-10' ;
眼下所以查詢失敗,我應該怎麼解決這個問題,我在where子句中的子查詢返回太多的行?
我的查詢低於:
SELECT `Job ID`
FROM jobs
WHERE `Building ID` = '1'
and (select case when `Appointment Date` IS NOT NULL THEN `Appointment Date`
else `Backup Date` end FROM jobs WHERE `Building ID` = '1') = '2013-10-10'
您可以用'LIMIT'這樣的:'選擇當預約時間不等於零時,預約時間 其他備份結束日期從以往的工作WHERE房屋編號=「1的情況下'LIMIT 1)' –
建築ID是唯一的嗎?我認爲你在表格中有多個Building ID。否則,它不應該返回超過1行。 – Learner