"Jonas Delfs" <nospam@delfs.dk> skrev i en meddelelse
news:9fr638$oss$1@sunsite.dk...
> Jeg har dette query:
> SELECT o.polt_nr, k.id, k.navn, o.polt_nr FROM ordrer o, kunder k WHERE
> status='KU' && o.kunde_id=k.id && udskrevet = 1 GROUP BY o.polt_nr
>
> Det jeg vil med det er følgende, men eftersom MySQL ikke understøtter
> sub-selects, vil jeg høre om der er nogen der har en idé til hvordan jeg
så
> gør:
> SELECT o.polt_nr, k.id, k.navn, o.polt_nr FROM ordrer o, kunder k WHERE
> status='KU' && o.kunde_id=k.id && '1' NOT IN(SELECT udskrevet FROM ordrer
> WHERE kunde_id=k.id && polt_nr=o.polt_nr) GROUP BY o.polt_nr
>
> Jeg er desuden ikke sikker på at det er den korrekte syntax for
sub-selects
> da det ikke er noget jeg beskæftiger mig meget med, men jeg håber du kan
se
> hvad jeg mener :)
En mindre redegørelse der, måske, kan hjælpe i som er lidt uforstående ang.
min problematik:
Mit oprindelige query (se øverst), giver x antal rækker som resultat... det
jeg vil, er at inden en række bliver "godkendt" skal der først lige tjekkes
om der findes rækker med samme kunde_id og polt_nr som den igangværende
række, men med værdien 0.. Hvis der er skal rækken *ikke* med i output.
Én jeg kender sagde at det måske er HAVING-klausulen jeg skal ha' fat i..
? -jeg har prøvet lidt med den, men får en "Unknown column 'o.udskrevet' in
HAVING-clause", selvom feltet findes..? Det undrer mig lidt, i sær da den
ikke har pillet o'et af, og sagt "Unknown ... 'udskrevet' "(uden o) som den
normalt gør hvis der er fejl i et join-query.
--
Mvh. Jonas Delfs,
http://delfs.dk
"Rigtige mænd scorer på ICQ" - Christian Jørgensen