Avatar billede Jman Praktikant
22. juli 2004 - 00:54 Der er 12 kommentarer og
1 løsning

Select distinct viser alligevel alle poster

select distinct orderno, uploaded, user from upload where status=2 order by uploaded asc

Når der er 5 poster med orderno "10001" vises de alle i stedet for distinct ved en do while not rs.eof ... Der skal kun vises en linie, for orderno "10001" ?!?
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 01:01 #1
Men orderno, uploaded, user er jo nok forskellige for alle poster. Distinct
går på alle de felter du nævner.

Er

    select distinct orderno from ...

ikke nok? Hvis du skal have uploaded, user med - er de så forskellige for samme orderno?
Avatar billede Jman Praktikant
22. juli 2004 - 01:03 #2
jeg kan godt følge dig - jeg troede bare man valgte distinct på den ene post (orderno)
Jeg skal have distinct orderno, men jeg skal også have rs("user") og rs("uploaded") med i visningen
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 01:06 #3
Men når de nu åbenbart er forskellige, user og uploaded, hvilken skal så tages?
Avatar billede Jman Praktikant
22. juli 2004 - 01:12 #4
jeg skal lave en select distinct på orderno, så det er den der skal tages efter..
men i min visning skal jeg så liste
orderno | user | uploaded <- det er den, der er forskellig pr. post (da det er dato/tid) og der er det seneste tid, der skal vises
Avatar billede Jman Praktikant
22. juli 2004 - 01:13 #5
... er man så nødt til at lave en select mere ?
Avatar billede Jman Praktikant
22. juli 2004 - 01:14 #6
aaargh - det må kunne klares med en select top 1, i stedt for..
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 01:15 #7
Nej, rolig nu.  Siger du at for et givet orderno ændrer uploaded sig for
de forskellige rækker, der nu engang er? Er user så den samme for samme orderno?
Avatar billede Jman Praktikant
22. juli 2004 - 01:17 #8
Glem lige min kommentar med top 1 - for så får jeg jo ikke alle med.. det er vist ved at være sent ;)

user er den samme og orderno er den samme, men en user kan godt have flere orderno...
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 01:18 #9
Ok, så er dit database design ikke optimalt. Du bør ikke have redundans for du
skriver jo et og samme "user" flere gange. 2 tabeller ville være bedre.

Men nu har du det så, og så kan du

  select orderno,user,max(uploaded) as maxuploaded from upload group by orderno,user
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 01:20 #10
Eller rettere 3 tabeller:

En tabel til "user".
En til "ordrer".
En til de ting een ordre nu består af.

Du vil måske ikke kunne se fordelen her og nu, men det er den rigtige måde at gøre det på.
Ingen redundans!
Avatar billede Jman Praktikant
22. juli 2004 - 01:28 #11
ja - det kan jeg egentlig godt se... men dette skulle gerne virkeher og nu  ;)

Det kunne være jeg skulle få taget mig sammen og læse lidt mere på lektionen om optimal databasedesign :)

Men det virkede da!
Avatar billede erikjacobsen Ekspert
22. juli 2004 - 01:29 #12
Rart at høre. Jeg samler stadig ikke på point, tak.
Avatar billede Jman Praktikant
22. juli 2004 - 01:32 #13
okay ... så snapper jeg dem (stadig) tilbage  c",)
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
Kurser inden for grundlæggende programmering

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