Autor | Zpráva | ||
---|---|---|---|
Pesulap Profil |
#1 · Zasláno: 6. 10. 2011, 08:22:53
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 |
#2 · Zasláno: 6. 10. 2011, 08:36:11
Pesulap:
takto ? select ID_osoby from co_si_pucil where ID_polozky='11043' and ID_polozky='9443' |
||
o_O Profil |
#3 · Zasláno: 6. 10. 2011, 08:37:39 · Upravil/a: o_O
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 |
#4 · Zasláno: 6. 10. 2011, 08:40:46
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 |
#5 · Zasláno: 6. 10. 2011, 08:48:45
Pesulap:
Špatně jsem si to přečetl - SQL příkaz jsem editoval. Asi by to šlo napsat i lépe... |
||
Pesulap Profil |
#6 · Zasláno: 6. 10. 2011, 08:53:58
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 |
||
Časová prodleva: 13 let
|
0