Avatar billede dotdonk Nybegynder
26. oktober 2006 - 16:38 Der er 7 kommentarer

Select Count spm.

Hej igen...

i sidste uge fik jeg hjælp til denne her SQL sætning, hvor jeg ville tælle 3. niveau bruger relationer:

---------------------------------------------------

select count(*)
From Tabel t1
left join Tabel t2 on t1.BrugerID2 = t2.BrugerID1
left join Tabel t3 on t2.BrugerID2 = t3.BrugerID1
where t1.BrugerID1 = 1
and t2.BrugerID2 <> t1.BrugerID1
and t3.BrugerID2 <> t1.BrugerID1
and t3.BrugerID2 <> t2.BrugerID1

---------------------------------------------------

Den har jeg prøvet og omskrive til niveau 2. bruger relationer, men jeg kan ikke få det rigtige resultat frem.

Nogen der vil hjælpe mig med det?

Mvh

DD.
Avatar billede lorentsnv Nybegynder
26. oktober 2006 - 16:57 #1
select count(*)
From Tabel t1
left join Tabel t2 on t1.BrugerID2 = t2.BrugerID1
where t1.BrugerID1 = 1
and t2.BrugerID2 <> t1.BrugerID1
Avatar billede dotdonk Nybegynder
26. oktober 2006 - 17:55 #2
hej lorentsnv

tak for dit svar

har lige testet din SQL, og tror den tæler 1. niveau

Den viser antal 6 og der skulle være 12.

Jeg har nemlig 6 i niveau 1 og 12 i niveau 2.

Eller er det mig som "tæller" forkert :-)
Avatar billede hrc Mester
27. oktober 2006 - 10:20 #3
Prøv noget i retning af dette her - det har nogle gange hjulpet at smække where'ene ind i joinen - uden jeg kan forklare forskellen.

select count(*)
  from Tabel t1
  left join Tabel t2 on (t1.BrugerID2 = t2.BrugerID1 and t2.BrugerID2 <> t1.BrugerID1)
  left join Tabel t3 on (t2.BrugerID2 = t3.BrugerID1 and t3.BrugerID2 <> t1.BrugerID1 and t3.BrugerID2 <> t2.BrugerID1)
  where t1.BrugerID1 = 1
Avatar billede dotdonk Nybegynder
27. oktober 2006 - 12:15 #4
hej hrc

damn... jeg har mistet overblikket over mit test data, så jeg kan ikke lige manuelt sidde og tælle om 11 er korrekt!

:-)

har du testet den sql query hrc?
Avatar billede dotdonk Nybegynder
27. oktober 2006 - 17:02 #5
Mine test data skal vise følgende korekte data:

1. niveau =  8 kontakter
2. niveau = 13 kontakter

-->> hrc din SQL returnere 11 kontakter i 2. niveau
Avatar billede dotdonk Nybegynder
27. oktober 2006 - 17:12 #6
hvis jeg udskriver navnene, så er der et navn som går igen flere gange...

:-(

har du eller andre forslag til ændringer?
Avatar billede hrc Mester
27. oktober 2006 - 18:05 #7
Måske noget med en "union" - men det er tvivlsomt om jeg får tid til at kigge på det i weekenden (skal på arbejde for at få tid til det ;-))
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