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 |
#2 · Zasláno: 14. 10. 2018, 04:37:09
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ě.
|
||
Časová prodleva: 6 let
|
0