limlim1986Medlem sedan sep. 20102 inlägg
Hejsan.
Jag använder mig av SQL Server 2005 och har stött på problem med att lyckas visa par ur en column.
Min tabel är en lista på kurser och dess elever
Tabel:
KURS ID
A ----1
B ----2
C ----3
A ----2
C ----1
Jag vill nu få fram en SQL sats som visar där det finns precis 2 elever på följande vis:
ID ID
1 - 2
2 - 1
1 - 3
3 - 1
Alltså alla "Par" med elever visade åt bägge håll
Har suttit i timmar med detta problem men lyckas inte lösa det med joins eller IN.
LarsGMedlem sedan dec. 200012 465 inlägg
select k1.kurs,
k1.id,
k2.id
from tabel k1
join tabel k2
on k1.kurs = k2.kurs
and k1.id <> k2.id
where k1.kurs in
(select kurs
from tabel
group by kurs
having count(*) = 2)
Jag vet inte om jag förstod rätt, men nu har jag begränsat det så att man bara får ut de kurser där det finns två elever. Om du inte will ha den med, så är det bara att ta bort where-villkoret.
limlim1986Medlem sedan sep. 20102 inlägg
Perfekt. Precis vad jag var ute efter. Hade ingen koll på "<>" men har läst på lite nu. Tack för hjälpen