webForumDet fria alternativet

SQL. Visa par ur en column

2 svar · 474 visningar · startad av limlim1986

limlim1986Medlem sedan sep. 20102 inlägg
#1

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
#2
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
#3

Perfekt. Precis vad jag var ute efter. Hade ingen koll på "<>" men har läst på lite nu. Tack för hjälpen

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb