到了非常基本的查询
SELECT id, column1, column2
FROM table1
WHERE id IN ("id1", "id2", "id3")
where语句中的参数作为变量传递,我还需要为id不存在的行返回值.通常,这是一个非常类似的问题,如下所述:SQL: How to return an non-existing row?但是,WHERE语句中有多个参数
现在,当id2不存在时的结果:
-------------------------------
| id | column1 | column2 |
-------------------------------
| id1 | some text | some text |
| id3 | some text | some text |
-------------------------------
当id2不存在时所需的结果
-----------------------------------
| id | column1 | column2 |
-----------------------------------
| id1 | some text | some text |
| id2 | placeholder | placeholder |
| id3 | some text | some text |
-----------------------------------
我的第一个想法是创建一个临时表并将其加入查询.不幸的是,我没有权限创建任何类型的临时表,因此我只能使用SELECT语句.
有没有办法在SQL SELECT查询中执行此操作?
编辑:
实际上,上面提到的是假设的情况.在WHERE子句中可以有数百个ID,其中未知量的丢失量.