Autor Zpráva
XolyCZ
Profil
Ahoj, potřebuju poradit. Mám funkci, která mi musí vrátit ID a nickname hráče, jenomže potřebuju ověrit, že ten hráč je volný. Nejdříve si vytahuju id toho hráče i s nicknamem a s tím ověřuju, jestli to samé id hráče není už v té druhé tabulce, ale vždycky mi to nic nevrátí, ikdyž to přes query projde. Jestli se v tom někdo vyzná, poradí mi prosím? Děkuju moc...

Asi to špatně kombinuju, ale i když jsem se díval na net, nevím si s tím rady, protože to jednou napíšu, že to dělá tohle a podruhé mi ta druhá query vrací více řádků, tedy hráčů než je potřeba..
SELECT players_in_teams.player_id, players.nickname FROM players_in_teams INNER JOIN players ON players_in_teams.player_id = players.player_id WHERE players_in_teams.team_id=3 AND players_in_teams.player_id != (SELECT player_id FROM composing_teams WHERE player_id = players_in_teams.player_id AND team_id =3)


Když se na to teď ještě dívám, tak to píšu jakoby naopak mi přijde, že já bych měl nejdříve mít id hráče a to potom ověřovat, jenomže ta query jde asi směrem "zevnitř", takže vlastně žádné ID nemá k dispozici, jestli to dobře chápu. Takže otázka, jak to jinak zapsat....
Keeehi
Profil
Místo operátoru != tam máš mít operátor NOT IN jelikož ten select vrátí množinu idček. A ty chceš vědět zda to idčko je nebo není v množině a ne jestli se idčko rovná množině.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0