簡體   English   中英

mysql使用一個描述表連接兩個id

[英]mysql join two ids with one description table

我的問題是我有這個表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,狀態b中選擇a.Cie_1,c.dec作為dec_1,b.Cie_2,d.dec作為dec_2在c.idCie = a上加入cie c。在c.idCie = b.Cie_2上加入ci 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的第一個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

您可以在下面看到結果...

結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM