mysql用一个描述表连接两个id

时间:2013-10-22 18:54:14

标签: mysql join

我的问题是我有这张表status

  Id | Cie_1 | Cie_2
  -------------------
  1  | 'A460'| 'J960'

  2  | 'K830'| 'R571'

和此表cie

  IdCie | Dec

  'J960'| DecJ960

  'A460 | DecA460

  'K830'| DecK830

  'R571'| DecR571

现在我想选择像这样的<{1}}列

dec

我尝试使用此功能但 Id | Cie_1 | dec_1 | Cie_2 | dec_2 --------------------------------- 1 | 'A460'| DecA460 | 'J960'| DecJ960 2 | 'K830'| DecK830 | 'R571'| DecR571

的列未知
a.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

上有一个未知的列错误

更新

感谢最后一个问题

状态

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;

结果不显示Cie_1

Id | Cie_1 | Cie_2 

1  | 'A460'| null  

1 个答案:

答案 0 :(得分:0)

这加入了他们

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

您可以看到以下结果......

results