想象一下这样的数据库表:如果它不返回结果,是否可以在SQL中获取查询值?
|id |value|
|1a |a |
|2b |b |
|3c |c |
而下面的SQL:
select * from bar b where b.id in (1,2,3,4)
是否有可能得到类似如下:
|id |value |
|1a |a |
|2b |b |
|3c |c |
|4d |<null> |
基本上,我想知道哪个查询param没有返回值。
想象一下这样的数据库表:如果它不返回结果,是否可以在SQL中获取查询值?
|id |value|
|1a |a |
|2b |b |
|3c |c |
而下面的SQL:
select * from bar b where b.id in (1,2,3,4)
是否有可能得到类似如下:
|id |value |
|1a |a |
|2b |b |
|3c |c |
|4d |<null> |
基本上,我想知道哪个查询param没有返回值。
您必须创建一个所有期望值的内嵌值。然后LEFT JOIN
你的表是:
select t1.id, t2.*
from (
SELECT 1 AS id UNION ALL SELECT 2 UNION ALL
SELECT 3 UNION ALL SELECT 4
) AS t1
LEFT JOIN bar AS t2 ON t1.id = t2.id
如果您能够将您的ID添加到自己的数据库表,你可以使用类似这样
SELECT t1.id, t2.value
FROM (SELECT id FROM guids) as t1
LEFT JOIN table2 ON t1.id = t2.id
,如果你有'ID列表你想查询,那么是的,但不是用这种语法。 – shamsup
@ShamSUP是的,确保SQL是愚蠢的和错误的。我想知道什么是正确的SQL来完成这一点。 – iCodeLikeImDrunk
好吧,这将取决于你从哪里得到 – shamsup