加入来自多列和2个表的数据

时间:2013-04-20 15:38:49

标签: mysql join

这两个是我用于数据的表格。现在,当我想加入这两张桌子时,我一直在加入golub ... 我知道我在那里犯了错误,但我不知道它是什么。 IDmajka和IDotac下面的值有时可能为0.该值0来自表“golub”并且它不存在。即使我放置表“golub”中存在的值,它仍然不起作用。它不会收集任何数据。 请忽略drzava上的JOIN和状态,因为它有效。

  

我的查询

SELECT * FROM popis_golubova
JOIN golub ON (golub.ID = popis_golubova.IDgolub
           AND golub.ID = popis_golubova.IDmajka 
           AND golub.ID = popis_golubova.IDotac)
JOIN drzava ON (drzava.ID=popis_golubova.IDdrzava)
JOIN status ON (status.ID=popis_golubova.IDstatus)
WHERE popis_golubova.IDkorisnik='$ID_KORISNIK'
  

表“golub”

table "golub"

  

表“popis_golubova”

enter image description here

1 个答案:

答案 0 :(得分:0)

这是解决方案,如果它可以帮助某人

SELECT 
O.brojgoluba AS o_brojgoluba,
M.brojgoluba AS m_brojgoluba, 
golub.spol, golub.boja, golub.rasa, golub.ime, golub.godina, golub.brojgoluba, drzava.drzava, status.status
FROM popis_golubova
JOIN drzava ON (drzava.ID=popis_golubova.IDdrzava)
JOIN status ON (status.ID=popis_golubova.IDstatus)
JOIN golub AS O ON (O.ID=popis_golubova.IDotac)
JOIN golub AS M ON (M.ID=popis_golubova.IDmajka)
JOIN golub ON (golub.ID=popis_golubova.IDgolub) 
WHERE popis_golubova.IDkorisnik='$ID_KORISNIK'
ORDER BY popis_golubova.IDgolub