我想创建一个类似于
的MyQSL查询SELECT city, state, country FROM location
UNION
SELECT 'Chicago','Illinois', 'USA' IF 'Chicago' NOT IN (SELECT city FROM location);
基本上,如果结果中没有返回'Chicago',我想将其附加到结果中。问题是,查询需要FROM
表...我是否使用虚拟表,或者我这样做是错误吗?
答案 0 :(得分:5)
只需在没有条件的情况下编写第二个SELECT
,让UNION
为您完成工作。 UNION
将从结果集中删除重复项,因此在第二个查询中重复“Chicago”没有任何害处。如果您的第一个SELECT
中也出现“芝加哥”,则UNION
将删除您的第二个查询创建的副本。
SELECT city, state, country FROM location
UNION
SELECT 'Chicago','Illinois', 'USA'