我有2个表所示:重命名为内列名加入
Table 'c'
| id | item_1 | item_2 |
-------------------------------
| 1 | 1 | 2 |
-------------------------------
Table 'i'
| id | name |
-------------------
| 1 | item |
-------------------
| 2 | item_2 |
-------------------
不,我需要c中的结果,包括项目的名称,从表中获取。所以我为此构建了一个内部JOIN。
SELECT c.*, i.name FROM c
INNER JOIN i ON
c.item_1 = i.id
OR
c.item_2 = i.id
这工作“很好”。但我得到这样的回:
| id | item_1 | item_2 | name |
----------------------------------------
| 1 | 1 | 2 | item_2 |
----------------------------------------
问题是清楚的 - 我需要找回两个item_ids的名称,但只得到一个。那么是否可以为列设置一个新名称?是这样的:
SELECT c.*, i.name FROM c
INNER JOIN i ON
c.item_1 = i.id SET name AS name_1
INNER JOIN i ON
c.item_2 = i.id SET name AS name_2
那么结果将是这样的:
| id | item_1 | item_2 | name_1 | name_2 |
----------------------------------------------------
| 1 | 1 | 2 | item_1 | item_2 |
----------------------------------------------------
谢谢!工作很好! – TJR