TJR*_*TJR 3 php mysql join inner-join
我有 2 张这样的表:
Table 'c'
| id | item_1 | item_2 |
-------------------------------
| 1 | 1 | 2 |
-------------------------------
Table 'i'
| id | name |
-------------------
| 1 | item |
-------------------
| 2 | item_2 |
-------------------
Run Code Online (Sandbox Code Playgroud)
不,我需要从表 c 中获取结果包括项目的名称。所以我为此建立了一个内部联接。
SELECT c.*, i.name FROM c
INNER JOIN i ON
c.item_1 = i.id
OR
c.item_2 = i.id
Run Code Online (Sandbox Code Playgroud)
这工作“很好”。但我得到这样的回报:
| id | item_1 | item_2 | name |
----------------------------------------
| 1 | 1 | 2 | item_2 |
----------------------------------------
Run Code Online (Sandbox Code Playgroud)
问题很明显 - 我需要为两个 item_id 取回 2 个名称,但只取一个。那么是否可以为该列设置一个新名称?像这样:
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
Run Code Online (Sandbox Code Playgroud)
所以结果会是这样的:
| id | item_1 | item_2 | name_1 | name_2 |
----------------------------------------------------
| 1 | 1 | 2 | item_1 | item_2 |
----------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
就像是?
SELECT c.*,
i1.name as name_1,
i2.name as name_2
FROM c
INNER JOIN I as i1
ON c.item_1 = i1.id
INNER JOIN I as i2
ON c.item_2 = i2.id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5366 次 |
| 最近记录: |