Autor Zpráva
Martin7
Profil
Ahoj,
potřeboval bych vypsat koncerty, kterých se přihlášený uživatel nezůčastnil. Mám tabulku koncerty: id, nazev atd. A tabulku prihlaseny_na_koncerty: id_osoby, id_koncertu.
Napsal jsem dotaz:
SELECT koncerty.* FROM koncerty LEFT JOIN prihlaseny_na_koncerty ON koncerty.id = prihlaseny_na_koncerty.id_koncertu WHERE prihlaseny_na_koncerty.id_osoby != ID PŘIHLÁŠENÉHO UŽIVATELE)


Tenhle dotaz mi sice vypíše, kterých koncertů se neučastil ten daný uživatel, ale také mi to vypíše všechny koncerty na, kterých byli ostatní uživatelé.
Jak to mám upravit aby se vypisovaly jen ty na, kterých nebyl on sám?

Díky
pcmanik
Profil
Martin7:
Zda sa mi to, alebo tam chyba stlpec, aby si vedel, ci uzivatel bol, alebo nebol na tom koncerte?
Tori
Profil
SELECT DISTINCT * FROM koncerty k
WHERE NOT EXISTS (SELECT * FROM prihlaseny_na_koncerty p
WHERE p.id_koncertu = k.id AND p.id_osoby = $id)

Nešlo by to nějak takto? (Nezkoušela jsem, jen opisuju z manuálu.)
Martin7
Profil
Už jsem to vyřešil podobný dotaz byl i zde: http://diskuse.jakpsatweb.cz/?action=vthread&forum=28&topic=128534

Nějak jsem to předtím přehlédl. Jinak díky za snahu.

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