Autor Zpráva
Swip
Profil
Zdravim,
Mam trosku problem s jednim, mozna uplne jednoduchym dotazem. Mam dejme tomu tabulku INVOICES, ktera obsahuje vzdy CUST_NO, INVC_DTE a INVC_ID a potrebuji vybrat treba vsechny zakazniky, kteri maji zaznam s INVC_DTE = 2007-09-01, 2007-10-01 a 2007-11-01. Jak rikam, mozna je to uplna hloupost, ale nemuzu prijit na to udelat jednoduse a nenarocne. Musi to byt co nejmene narocne, protoze je to poddotaz sloziteho dotazu, ktery vybira z dost rozsahlych tabulek.
Budu vdecny za kazdou radu. Diky!
djlj
Profil
WHERE INVC_DTE IN ('2007-09-01', '2007-10-01', '2007-11-01')
Swip
Profil
No, IN(....) muzu pouzit pokud chci, aby mi dotaz nasel zakazniky s INVC_DTE = '2007-09-01' OR INVC_DTE = '2007-10-01' OR INVC_DTE = '2007-11-01' . Ale ja potrebuji najit zakazniky, kteri dostali fakturu ve vsech trech datumech.
Swip
Profil
No, IN(....) muzu pouzit pokud chci, aby mi dotaz nasel zakazniky s INVC_DTE = '2007-09-01' OR INVC_DTE = '2007-10-01' OR INVC_DTE = '2007-11-01' . Ale ja potrebuji najit zakazniky, kteri dostali fakturu ve vsech trech datumech.
djlj
Profil
Aha, blbě jsem se kouknul, omlouvám se.
Kajman_
Profil *
např.

select cust_no from invoices
where invc_date in ('2007-09-01', '2007-10-01', '2007-11-01')
group by cust_no
having count(distinct invc_date)=3
Swip
Profil
Děkuji za radu. Tohle mě nenapadlo. Sice zde bude použit pokaždé jiný počet údajů, ale to se dá ošetřit v kódu.
Toto téma je uzamčeno. Odpověď nelze zaslat.