我正在使用 MySQL 中的三个表,一张来自 A 公司(18,000 条记录),一张来自公司 B(145,000 条记录),一张来自公司 C(8,000 条记录)。每个表都有唯一的数据,但具有完全相同的字段名称。我需要将所有三个表连接在一起以将数据堆叠在一起,因此将数据组合在一起,因此一张表中总共有 8+18+145= 171,000 条记录。任何人都可以帮我解决 SQL 查询吗?
问问题
49 次
2 回答
1
SELECT t1.a, t1.b, 'Company A'
FROM table1 t1
UNION ALL
SELECT t2.a, t2.b, 'Company B'
FROM table2 t2
UNIONALL
SELECT t3.a, t3.b, 'Company C'
FROM table3 t3
于 2013-07-01T14:55:53.937 回答
0
这称为union all
查询:
select t.*
from ((select 'A' as which, A.* from A) union all
(select 'B' as which, B.* from B) union all
(select 'C' as which, C.* from C)
) t
这假定字段名称的顺序相同并且具有兼容的类型。最好在每个子查询中分别列出所有字段名称。
于 2013-07-01T14:56:46.547 回答