[英]MySQL Combine data from two tables with table name
我目前有兩個表,table1和table2。 這些表具有相同的結構,但包含不同的數據。
我需要的是一個查詢,它將表1和表2的數據組合在一起,並指定數據來自哪個表。
例如,如果table1和table2看起來像:
+------+ +------+
| name | | name |
+------+ +------+
| Bob | | Rob |
+------+ and +------+
我想要一個結果表:
+------+--------+
| name | from |
+------+--------+
| Bob | table1 |
+------+--------+
| Rob | table2 |
+------+--------+
我想到的唯一的SQL是:
SELECT name FROM table1 UNION SELECT name FROM table2;
但這不會添加該行來自的表名。
謝謝!
詢問
SELECT name, 'table1' as `from`
FROM table1
UNION ALL
SELECT name, 'table2' as `from`
FROM table2
;
產量
+------+--------+
| name | from |
+------+--------+
| Bob | table1 |
| Rob | table2 |
+------+--------+
最好不要將“ from”用作結果列,因為它是SQL中的保留字,但是您可以
SELECT name, 'table1' AS [from] FROM table1
UNION ALL
SELECT name, 'table2' AS [from] FROM table2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.