Autor Zpráva
Pesulap
Profil
Ahoj,
potřebuji sestavit dotaz, který ni vytáhne ID_osoby z tabulky co_si_pucil.

V tabulce co_si_pucil jsou sloupce ID, ID_osoby, druh, ID_polozky

A chci vytáhnout všechny osoby co si půjčili
druh:kniha - ID_polozky:11043 a zároven si pučil
druh:film - ID_polozky:9443

Prostě potřebuji dotaz který vytáhne ID_osoby z tabulky pokud si ta osoba pučila jak film č 9443 a tak knihu č.11043.

Děkuji
Taps
Profil
Pesulap:
takto ?
select  ID_osoby from co_si_pucil where ID_polozky='11043' and ID_polozky='9443'
o_O
Profil
Pesulap:
Možná nějak takto:
SELECT c.ID_osoby,c.id_polozky,c2.id_polozky FROM co_si_pucil c RIGHT JOIN co_si_pucil c2 ON (c.ID_osoby=c2.ID_osoby AND c2.id_polozky!=c.id_polozky) WHERE c2.id_polozky IN (11043,9443) AND c.id_polozky IN (11043,9443) GROUP BY c.id_osoby, c2.id_osoby
Pesulap
Profil
No ale to mi může vybrat i knihu 9443 a film 11043 potřebuji to ještě upresnit na ty druhy
o_O
Profil
Pesulap:
Špatně jsem si to přečetl - SQL příkaz jsem editoval. Asi by to šlo napsat i lépe...
Pesulap
Profil
Jestli téhle úpravě rozumím, tak by to našlo všechny ať knihy tak i filmy. Já to ale potřebuji jen tak aby se udělal dotaz který odpovídá

WHERE (ID_polozky=11043 AND druh='kniha') AND (ID_polozky=9443 AND druh='film') 


Bohužel takto to nefunguje:-(
Kajman
Profil
select ID_osoby
from   co_si_pucil
where  (ID_polozky,druh) in ((11043,'kniha'),(9443,'film'))
group  by ID_osoby
having count(distinct ID_polozky, druh) = 2 -- pocet hledanych kombinaci

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0