我正在尝试连接两个或多个 mysql 查询的输出。所以如果查询 1 有 N 列而查询 2 有 M 列,那么输出应该有 N+M 列。 例如:
select * from (select 1,2,3) as X,
(select 4,5) as Y;
这里的输出是:
1 2 3 4 5
现在的问题是我的第二个查询可能没有结果。这种情况导致根本没有输出:
select * from (select * from table_0) as X,
(select * from table_1) as Y;
如果 table_1 未返回任何匹配项,则组合输出不会返回任何行。 我仍然希望返回我的第一个表的条目。
虽然我有一个解决方法,但它涉及对 M 列中的每一个的单独查询。 我也不想创建临时表并加入它们。
最佳答案
LEFT JOIN 应该这样做:
select *
from (select * from table_0) as X
left join (select * from table_1) as Y on 1;
关于mysql - 连接 MySQL 查询中两个或多个列的列输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21590476/