Mysql 重用来自union的select的查询
我有一个遵循此模式的查询:Mysql 重用来自union的select的查询,mysql,sql,Mysql,Sql,我有一个遵循此模式的查询: SELECT * FROM ( SELECT a FROM b ) `firstQuery` UNION SELECT * FROM ( SELECT b FROM c ) `secondQuery` 但是,我希望secondQuery从firstQuery中排除行 不起作用。 有人能给我指出正确的方向吗?如何重用子查询的结果 UNION已经从结果集中删除了重复项,因此您只能从“secondquery”中获得“fi
SELECT * FROM
(
SELECT a
FROM b
) `firstQuery`
UNION
SELECT * FROM
(
SELECT b
FROM c
) `secondQuery`
但是,我希望secondQuery从firstQuery中排除行
不起作用。
有人能给我指出正确的方向吗?如何重用子查询的结果
UNION已经从结果集中删除了重复项,因此您只能从“secondquery”中获得“firstquery”-@Aaron Dietz尚未返回的结果
亚伦说得对。谢谢 请看:你听说过CTEs吗?你在没有告诉我们你想要完成什么的情况下发布了一个错误的查询。你希望我们如何帮助你???读这个@Shawn-CTE仅在MySQL 8.0中引入。但你说得对。UNION已经从结果集中删除了重复项,因此你只能从“secondquery”中获得“firstquery”尚未返回的结果
SELECT * FROM
(
SELECT a
FROM b
) `firstQuery`
UNION
SELECT * FROM
(
SELECT b
FROM c
WHERE NOT EXISTS
(
SELECT * FROM `firstQuery`
)
) `secondQuery`