30. august 2006 - 16:56
Der er
1 kommentar og
1 løsning
distinct første felt, plus tilhørende data ikke distinct
Lad os sige min tabel ser således ud.
# | kol1 | kol2 | kol3
1 | ibm | europa tysklan | berlin
2 | ibm | europa holland |amsterdam
3 | ibm | europa tjekkiet | prag
4 | ca | asien kina | beijing
5 | ca | asien sydkorea | something
6 | avh | europa danmark | københavn
7 | avh | europa sverige | stockholm
Hvordan får jeg data ud så kol1 alle er forskellige.
og de resterende informationer kommer med ud.
fx.
# | kol1 | kol2 | kol3
1 | ibm | europa tysklan | berlin
5 | ca | asien sydkorea | something
6 | avh | europa danmark | københavn
Det skal nærmest være distinct på kol1 men de resterende informationer skal bare med, ligemeget hvad de er.
Fx hvis man skal have fat i ibm, men ligegyldigt hvor de befinder sig.
Håber jeg gør mig klar nok om hvad det er jeg gerne vil have gjort.
30. august 2006 - 22:00
#2
Tja, det ville måske være nærliggende at sige
SELECT kol1, MIN(kol2) AS MinKol2, MIN(kol3) AS MinKol3
FROM tabel
GROUP BY kol1
ORDER BY kol1 DESC
men så kunne man ikke garantere, at værdierne i MinKol2 og MinKol3 "hænger sammen".
Med de viste data ville det ganske vist resultere i
ibm, europa holland, amsterdam
ca, asien kina, beijing
avh, europa danmark, københavn
hvilket faktisk er ok, selvom det ikke er helt det samme resultat, som det du ønsker.
Men hvis række 3 havde heddet
ibm, europa frankrig, paris
så ville resultatet af ovenstående forespørgsel have været
ibm, europa frankrig, amsterdam
ca, asien kina, beijing
avh, europa danmark, københavn
Desværre er der vist ikke andre muligheder - med mindre tabellen også har et felt, som er unikt pr. række, normalt et felt som bruges som primær nøgle. Mange har et autonummer felt, som bruges på den måde. Måske har du jo også sådan et felt, men har bare ikke oplyst om det?
Hvis vi nu antager, at du har et sådant felt - vi kalder det Id, så ville du kunne bruge en forespørgsel som
SELECT *
FROM tabel
WHERE Id IN (SELECT MIN(Id) FROM tabel GROUP BY kol1)
ORDER BY kol1 DESC