我的问题是我有此表status
:
Id | Cie_1 | Cie_2
-------------------
1 | 'A460'| 'J960'
2 | 'K830'| 'R571'
和这个表
cie
IdCie | Dec
'J960'| DecJ960
'A460 | DecA460
'K830'| DecK830
'R571'| DecR571
现在,我要像这样在
dec
列中进行选择 Id | Cie_1 | dec_1 | Cie_2 | dec_2
---------------------------------
1 | 'A460'| DecA460 | 'J960'| DecJ960
2 | 'K830'| DecK830 | 'R571'| DecR571
我尝试使用它,但
a.idCie
的列错误未知select a.idCie as cie_1, c.dec as dec_1,b.idCie as cie_2, d.dec as dec_2
from cie a,cie b
join cie c on c.idCie=a.idCie
join cie d on d.idCie=b.idCie;
更新:
选择a.Cie_1,c.dec作为dec_1,b.Cie_2,d.dec作为dec_2
从状态a,状态b
在c.idCie = a.Cie_1上加入cie c
在d.idCie = b.Cie_2上加入cie d;
但我在a.Cie_1上遇到未知列错误
更新:
谢谢最后一个问题
状态
Id | Cie_1 | Cie_2
1 | 'A460'| null
结果不显示Cie_1
Id | Cie_1 | dec_1 | Cie_2 | dec_2
-------------------------------------
最佳答案
这加入了他们
select status.id, status.cie_1, cie1.dec as dec_1, status.cie_2, cie2.dec as dec_2
from status join cie as cie1 on status.cie_1 = cie1.idcie
join cie as cie2 on status.cie_2 = cie2.idcie
以您的表结构为例,您想将
Cie_1
从status
表链接到cie
表idcie
。那就是您要基于idcie
从cie查找A460(并获取值DecA460)。这由第一个联接join cie as cie1 on status.cie_1 = cei1.idcie
表示。请参阅下面的表格表示。然后对Cie_2
再做一次Status cie
Id | Cie_1 | Cie_2 IdCie | Dec
1 | 'A460'| 'J960' --> A460 | DecA460
您可以在下面看到结果...
关于mysql - mysql使用一个描述表连接两个id,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19526015/