将具有不同名称的表连接到同一列

时间:2013-06-10 20:44:26

标签: sql

如何使用一个SQL查询连接具有不同列名的2个表?

假设我有这张表:

+----+--------+----------+
| id |  name  |   car    |
+----+--------+----------+
|  1 | Name 1 | Audi     |
|  2 | Name 2 | BMW      |
|  3 | Name 3 | Mercedes |
+----+--------+----------+

这个表

+----+--------+----------+
| id |  name  |   bike   |
+----+--------+----------+
|  1 | Name 4 | Kawasaki |
|  2 | Name 5 | Triumph  |
|  3 | Name 6 | Ducati   |
+----+--------+----------+

我想做到这一点

+--------+----------+
|  name  |  Brand   |
+--------+----------+
| Name 1 | Audi     |
| Name 2 | BMW      |
| Name 3 | Mercedes |
| Name 4 | Kawasaki |
| Name 5 | Triumph  |
| Name 6 | Ducati   |
+--------+----------+

3 个答案:

答案 0 :(得分:3)

这看起来像你想要一个联盟

SELECT name, car as brand
FROM cars
UNION ALL
SELECT name, bike as brand
FROM bikes

答案 1 :(得分:0)

SELECT table1.name, table1.car AS Brand FROM table1 UNION ALL SELECT table2.name, table2.bike AS Brand FROM table2

答案 2 :(得分:0)

select Name, Car from Table1
Union All
Select Name, Bike from Table2

我不知道你列出的table1和2的名字,但我猜它们与Car and Bike有关。