在MySQL返回空行,如果没有找到指定的ID
问题描述:
嗨记录我使用下面的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 |空值
答
我没有更好的主意:
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