Avatar billede sbahn Nybegynder
14. november 2005 - 21:13 Der 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.
Avatar billede sbahn Nybegynder
15. november 2005 - 09:14 #1
Ækvivalent(?) kan jeg skrive

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
Avatar billede sbahn Nybegynder
16. november 2005 - 21:28 #2
Er der virkelig ingen eksperter, der kan fortæle, om det, jeg ønsker, overhovedet lader sig gøre.
Avatar billede sbahn Nybegynder
16. november 2005 - 21:36 #3
...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.
Avatar billede sbahn Nybegynder
07. december 2005 - 23:13 #4
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester