如果找不到给定id的记录,则在mysql中返回null行

时间:2012-03-04 10:55:12

标签: mysql ifnull

您正在使用以下mysql查询

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 |空值

1 个答案:

答案 0 :(得分: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