想要一个没有数据的空行
你好这是关于MySQL Workbench 6.3的。
我正在尝试为我的select语句中列出的每个项目返回结果列表,其中包括那些实际上不存在的项目。因此,如果我在select语句中列出了5个项目,而只有3个存在,我想返回5行,3个包含数据的实际行和2个仅显示null的行。有人可以告诉我如何在下面编辑我的查询以显示吗?谢谢 !
select emails from table where email in (dog, frog, cat, tiger, lizard);
实际结果(仅显示实际存在的3封电子邮件)
dog
cat
tiger
所需结果
dog
null
cat
tiger
null
答案 0 :(得分:1)
不可能达到预期的结果。 以它们进入IN()的顺序返回所选记录 运算符。
因此,我认为当您将所需结果更改为表中未找到某些提示的东西时,我认为您正在寻找更好的东西。
查询
G.nodes = {0: {'name': 'a'}, 1: {'name': 'b'}, 2: {'name': 'c'}, 3: {'name': 'd'}}
结果
SELECT
search_emails.email
, (
CASE
WHEN t.email IS NOT NULL
THEN 'true' ELSE 'false'
END
) AS found
FROM (
SELECT 'dog' AS email
UNION
SELECT 'frog' AS email
UNION
SELECT 'cat' AS email
UNION
SELECT 'tiger' AS email
UNION
SELECT 'lizard' AS email
) AS search_emails
LEFT JOIN
t
ON
t.email = search_emails.email
请参阅demo
答案 1 :(得分:0)
select emails from table where email in (dog, frog, cat, tiger, lizard) OR email IS NULL
确保为IN (...)
提供的值以字符串形式提供。