[英]Using select inner join in sql
所以我有5张桌子:
dane_osobowe:
(PK) id
imie
druzyna:
(PK) id
nazwa
gracz:
(PK) id
(FK) dane_osobowe
(FK) pozycja
kontrakt:
(PK) id
(FK) gracz
(FK) druzyna
pozycja:
(PK) id
nazwa
如何从具有“ pozycja” 2的druzyna“ 1”中选择所有“ gracz”? 我尝试过这样的事情:
SELECT *
FROM gracz AS gr
INNER JOIN kontrakt AS kg
ON gr.ID = kg.Gracz
INNER JOIN Druzyna AS d
ON kg.Druzyna = d.ID
WHERE d.ID = 1
INNER JOIN pozycja as poz
ON poz.id = gracz.pozycja
WHERE gracz.pozycja = 2
但这不起作用:/有人知道我在做什么错吗?
尝试这个:
SELECT *
FROM gracz AS gr
INNER JOIN kontrakt AS kg
ON gr.ID = kg.Gracz
INNER JOIN Druzyna AS d
ON kg.Druzyna = d.ID
--Remove the where condition from here
INNER JOIN pozycja as poz
ON poz.id = gracz.pozycja
WHERE gracz.pozycja = 2
and d.ID = 1 --Add it over here using "and"
即,最后一起移动所有条件。
编辑:
要获取选定的列,您可以像这样指定它:
SELECT d.id, gr.dane_osobowe, poz.nazwa
FROM gracz AS gr
INNER JOIN kontrakt AS kg
ON gr.ID = kg.Gracz
INNER JOIN Druzyna AS d
ON kg.Druzyna = d.ID
--Remove the where condition from here
INNER JOIN pozycja as poz
ON poz.id = gracz.pozycja
WHERE gracz.pozycja = 2
and d.ID = 1 --Add it over here using "and"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.