簡體   English   中英

MySQL將兩個表的數據與表名合並

[英]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 |
+------+--------+

sqlfiddle

最好不要將“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM