Avatar billede gigi1 Nybegynder
15. juni 2013 - 15:05 Der er 3 kommentarer

unik udtræk

Hey

Hvordan gør så jeg kun får udskrevet en person en gang?
Og ikke for hver aktivitet personen har.


select Persons.Id, Activity, Description, Activity.StartDate, Activity.EndDate from NBRSPSQL.EasyIQ.dbo.Activity
INNER JOIN Login_Activity ON Activity.ActivityId = Login_Activity.ActivityId
INNER JOIN Persons ON Login_Activity.LoginId = Persons.LoginId
AND Description IS NOT NULL ORDER BY Persons.Id DESC

1 - aktivitet 1
1 - aktivitet 2
2 - aktivitet 1
3 - aktivitet 1
3 - aktivitet 2
3 - aktivitet 3
Avatar billede arne_v Ekspert
16. juni 2013 - 00:18 #1
Laver en anden query.

Andet kan vi vist ikke sige.

Du faar:

1 - aktivitet 1
1 - aktivitet 2

ud og vil kun have en ud.

Men uden et kriterie for hvilken af de to du vil have ud saa kan vi ikke sige meget.
Avatar billede arne_v Ekspert
30. juli 2013 - 04:41 #2
?
Avatar billede kjulius Novice
26. januar 2015 - 18:51 #3
Nu gætter jeg lige lidt. :-)

Hvis det du ønsker er at få alle rækker returneret, men kun have navnet udfyldt i den første række for hver gruppe, så er den slags bedst at lave i applikationen (klienten/ASP.NET siden), da denne alligevel skal gennemlæse datasættet én række ad gangen (med mindre du absolut vil bruge en komponent med et bundet datasæt). Hvis du sørger for, at få datasættet sorteret korrrekt (med en ORDER BY) er det en smal sag for din applikation at udskifte navnet med blanke på alt andet end den første række.

Det er til gengæld ikke nogen let sag at lave i SQL, selv om det meste kan lade sig gøre med nok "håndarbejde". Men det vil uvægerligt giver "overhead" på serversiden med mulighed for dårlig performance.
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