inspiroMedlem sedan sep. 2005664 inlägg
Hej! Lite förenklat så ser resultatet jag hämtar ut från två tabeller så här (det finns fler kolumner där varje rad är unik, därför fungerar inte distinct):
Kol 1 Kol 2
1 A
2 A
2 A
1 B
2 B
3 B
2 C
2 C
2 C
Men jag skulle vilja att det såg ut så här:
Kol 1 Kol 2
1 A
2 A
1 B
2 B
3 B
2 C
Alltså att samma id i kolumn 1 inte får förekomma mer än en gång där kolumn 2 innehåller A, inte mer än en gång där kolumn 2 innehåller B osv... någon som förstår vad jag är ute efter?
Använder sql server, och det är när jag joinar ihop två tabeller som det blir fel.
LarsGMedlem sedan dec. 200012 465 inlägg
Det finns alltså ytterligare kolumner i resultatsetet?
C1 C2 C3
-----------
2 A 2
2 A 1
?
Vilket värde från C3 vill du ha? Har jag fel eller har jag fel?
inspiroMedlem sedan sep. 2005664 inlägg
Ja, fler kolumner... och det spelar ingen roll vilket värde från kolumn 3 som kommer med i det här fallet, typ den första bara. I ditt exempel skulle jag alltså bara vilja få ut "2 A 2" men få bort den andra. Tänkte alltså om det går att använda DISTINCT på en del av kolumnerna!
emissionMedlem sedan dec. 19996 095 inlägg
Nej, det kan du inte göra, men du kan använda en GROUP BY och kasta dit aggregatfunktioner på de övriga kolumnerna, men då kan du inte veta från vilken rad de kommer (det kan variera mellan kolumnerna)
SELECT C2,C2,MAX(C3) as C3 FROM tabellen GROUP BY C1,C2
inspiroMedlem sedan sep. 2005664 inlägg
Ok, tack, jag ska nog ändra lite i strukturen, det är antagligen feltänk från början. En annan fråga i lite av samma ämne... jag försöker göra det här:
SELECT DISTINCT TOP (3) X
FROM Y
ORDER BY DateTime
Om man tar med "DateTime" i selecten så fungerar själva frågan, men då blir den ju inte distinct eftersom varje "DateTime" är unik. Vet ni hur man kan göra istället? Vill alltså att X ska vara unikt.
LarsGMedlem sedan dec. 200012 465 inlägg
select top 3 x,max(datetime) as obsequent
from y
group by x
order by obsequent desc
inspiroMedlem sedan sep. 2005664 inlägg
Tack, LarsG! Du är ju helt otrolig på sql... :)