14. november 2005 - 21:13Der er
3 kommentarer og 1 løsning
select distinct
Hej,
Kan jeg på en eller anden måde få flere søjler ud af min tabel end de, SELECT DISTINCT giver. Eksempel:
SELECT DISTINCT PERSONER.personid, DISCIPLINER.disciplinid FROM PERSONER, KONKURRENCER, RESULTATER, DISCIPLINER WHERE ... ORDER BY DISCIPLINER.disciplinid, RESULTATER.SCORE;
giver som udgangspunkt det, jeg ønsker. Men til hver kombination af personid, disciplinid er knyttet en eller flere scores, hvoraf jeg kun ønsker det bedste (derfor sorteringen) - og ønkser dette med fra udtrækket. Jeg kan ikke komme i tanke om nogen subquery, som kan klare dette.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SELECT PERSONER.personid, DISCIPLINER.disciplinid, MIN(RESULTATER.score) FROM PERSONER, KONKURRENCER, DISCIPLINER, RESULTATER WHERE ... GROUP BY PERSONER.personid, DIsCIPLINER.disciplinid;
i min subquery. Men i den ydre query vil jeg så kun matche de første to kolonner i subquerien. Altså noget a la ... WHERE (PERSONER.personid, DISCIPLINER.disciplinid) IN
...eller nogen, der kan fortælle mig, hvorfor følgende query ikke returnerer noget
SELECT PERSONER.navn, DISCIPLINER.disciplinnavn, RESULTATER.displayscore FROM PERSONER, KONKURRENCER, DISCIPLINER, RESULTATER WHERE [...JOIN CLAUSES...] AND [...OTHER CLAUSES...] AND RESULTATER.score IN (SELECT MIN(RESULTATER.score) FROM PERSONER, KONKURRENCER, DISCIPLINER, RESULTATER WHERE [...JOIN CLAUSES...] AND [...OTHER CLAUSES...] GROUP BY PERSONER.personid, DISCIPLINER.disciplinid);
Den indre query giver det ønskede, i dette tilfælde 17 floats, der (naturligvis) alle findes i RESULTATER. [...JOIN CLAUSES...] og [...OTHER CLAUSES...] er de samme i begge queries.
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.