2012-03-04 51 views
1

嗨記錄我使用下面的MySQL查詢在MySQL返回空行,如果沒有找到指定的ID

SELECT * 
     FROM particulars pp 
     WHERE (pp.SnoFK IN (108,999999) 
       AND pp.curMonth = STR_TO_DATE('01/02/2012', '%d/%m/%Y')) 

在我的表,我有記錄的只有108,所以它返回只有一排爲108 。

有mysql中的任何其他選項,我可以返回兩行這我沒有在表中的ID喜歡

1.108 | *

2.999999 |空值

回答

3

我沒有更好的主意:

http://sqlfiddle.com/#!2/82cc5/2

SELECT 
    ids.id, 
    particulars.* 
FROM ( SELECT 108 AS id 
    UNION SELECT 1122 AS id 
    UNION SELECT 999999 AS id 
) AS ids -- create a "table" with the required numbers 
LEFT JOIN particulars ON particulars.SnoFK = ids.id 
相關問題