20. november 2003 - 14:20Der er
1 kommentar og 1 løsning
problemer med distinct og order by
Jeg har følgende sqlsætning:
SELECT distinct email FROM tildelteRelationer, bruger WHERE kategori in (Select kategori FROM relationer WHERE kategori = 10 AND rettighed = 1 ) OREDER BY DATO
Men den virker ikke på grunde af den "order by", hvordan løser jeg det problem?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Du danner det kartesiske produkt - dvs. en CROSS join - ved ikke at angive join-betingelser mellem "tildelterelationer" og "bruger".
Din sub-query virker temmelig redundant - "where kategori in (select kategori ... where kategori=10 ..." - hvorfor ikke blot "where kategori=10"
Så er dit distinct problem måske også løst...
Vil i øvrigt anbefale at du benytter SQL-92 join syntaks, a la "from tildelterelationer inner join bruger on column=column" - det er lidt nemmere læsevenligt og man får ikke uforvarende lavet en cross join.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.