我的问题是我有此表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_1status表链接到cieidcie。那就是您要基于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/

10-12 03:15