从第一个表到第二个表的一列连接3列

时间:2013-05-23 18:59:42

标签: mysql

我需要查询才会给我这个结果。 enter image description here

这是我的3张桌子。来自IDgolub的{​​{1}},IDmajkaIDotac列是指来自mg_popis_golubova的ID。 来自mg_golub的{​​{1}}列引用了来自IDstatus的ID。

enter image description here

这是我用来完成此操作的查询。但它没有用。因为它合并了来自mg_popis_golubova的{​​{1}}列和来自mg_status的{​​{1}}列。那么IDgolubmg_popis_golubova怎么样?如何将这两列合并到ID以获得结果。

mg_golub

1 个答案:

答案 0 :(得分:2)

我认为这可能就是你要找的东西。您需要多次加入mg_golub表以获得您正在寻找的结果,这意味着您需要使用表别名。

SELECT 
    mg_golub.ID AS IDgolub, mg_golub.brojgoluba, mg_golub.spol, mg_golub.boja, 
    mg_golub.rasa, mg_golub.ime, mg_golub.godina, mg_status.status, 
    otac.brojgoluba, majka.brojgoluba
FROM mg_golub g
JOIN mg_status s ON (s.ID=g.IDstatus)
JOIN mg_popis_golubova pg ON (g.ID=pg.IDgolub)
JOIN mg_golub otac on (pg.IDotac = otac.ID)
JOIN mg_golub majka on (pg.IDmajka = majka.ID)
WHERE mg_popis_golubova.IDkorisnik='$ID_KORISNIK'

我不熟悉你的表名和列名所使用的语言,所以我相信你能找到更好的别名。