你如何显示表A的结果然后表B的结果?

时间:2016-03-25 09:36:57

标签: mysql sql

我正在尝试显示表A的所有结果,然后显示表B的所有结果。

我尝试在查询中制作2个SELECT,但它不起作用。

我没有提出两个不同的查询,因为我想将它们一起分页。

编辑:我有一个'文件夹'表和一个'文件'表 我想显示所有文件夹然后显示所有文件。

1 个答案:

答案 0 :(得分:0)

如果您的列不同,则需要两个查询而不是一个,这是最简单的解决方案。

如果您真的想要合并,可以试试这个:

SELECT 'A' as source, col_1a, col_2a, col_3a, NULL as col_1b, NULL as col_2b, NULL as col_3b FROM table_a
UNION ALL
SELECT 'B', NULL, NULL, NULL, col_1b, col_2b, col_3b FROM table_b
ORDER BY source, col_1a, col_1b

结果如下:

source, col_1a, col_2a, col_3a, col_1b, col_2b, col_3b
'A',    1,      'a',    'aa',   NULL,   NULL,   NULL
'A',    2,      'a',    'aa',   NULL,   NULL,   NULL
'B',    NULL,   NULL,   NULL,   1,      'b',    'bb'
'B',    NULL,   NULL,   NULL,   2,      'b',    'bb'
'B',    NULL,   NULL,   NULL,   3,      'b',    'bb'