Avatar billede jmc Nybegynder
29. marts 2005 - 14:28 Der er 14 kommentarer og
1 løsning

hvorfor virker DISTICT ikke her?

Set rs_users = Server.CreateObject("ADODB.Recordset")
rs_users.ActiveConnection = MM_m_STRING
SQL = "SELECT DISTINCT user_id, * FROM hent_users  where 1=1 "
if myDict.count > 0 then SQL = SQL & " AND sp_id IN ("&Join(myIds, ",")&")"
if request("virksomhedstype") <> 0 then SQL = SQL & " AND virksomhedstype_id = " & request("virksomhedstype")
if request("antal") <> 0 then SQL = SQL & " AND antal_id = " & request("antal")
if request("branche") <> 0 then SQL = SQL & " AND branche_id = " & request("branche")
rs_users.Source = SQL
rs_users.CursorType = 0
rs_users.CursorLocation = 2
rs_users.LockType = 1

Den udskriver user_id dobbelt uanset at jeg har benyttet DISTINCT
Avatar billede erikjacobsen Ekspert
29. marts 2005 - 14:29 #1
SQL = "SELECT DISTINCT user_id FROM hent_users"
Avatar billede erikjacobsen Ekspert
29. marts 2005 - 14:30 #2
(og du må selvfølgelig gerne bruge dit "where 1=1" hack ;)
Avatar billede moejensen Nybegynder
29. marts 2005 - 14:38 #3
hvis du skal have alle felter ud skal du i stedet for user_id skrive *

Hvad får man ud af at skrive where 1=1?
Avatar billede erikjacobsen Ekspert
29. marts 2005 - 14:40 #4
Hvis man skal have alle felter ud, giver det ikke mening at skrive DISTINCT.

"where 1=1"  gør det nemmere at sætte flere betingelser på efterfølgende, da man
altid kan lade dem begynde med " AND " - ellers skal man vide om det er den første
eller ikke.
Avatar billede jmc Nybegynder
29. marts 2005 - 14:45 #5
jeg skriver:
SQL = "SELECT DISTINCT user_id, * FROM hent_users 
og dette udskriver f.eks. en user_id fire gange da de indgår 4 gange i myIds.
Derfor virker DISTINCT ikke i denne forbindelse?
Avatar billede erikjacobsen Ekspert
29. marts 2005 - 14:47 #6
Men det virker vel når du har fjernet ", *"
Avatar billede jmc Nybegynder
29. marts 2005 - 19:27 #7
Nej det virker stadigt ikke pga. at user_id stadigt er repræsenteret 4 gange i forespørgspørsels tabellen hent_users.
En gang med hurmluhej_id = 1
En gang med hurmluhej_id = 2
En gang med hurmluhej_id = 3
En gang med hurmluhej_id = 4

jeg har enddag prøvet at gøre sådan:
SQL = "SELECT DISTINCT user_id,firmanavn,postalcode,city,f_name,stilling,phone,email,homepage_url  FROM hent_users  where 1=1 "

Det virker stadigt ikke, den lister stadigt de 4....
Avatar billede erikjacobsen Ekspert
29. marts 2005 - 22:00 #8
Ja, selvfølgelig gør den det. Hvorfor gør du ikke som jeg skriver 14:29:18
Avatar billede jmc Nybegynder
29. marts 2005 - 22:56 #9
Er prøvet men virker desværre ikke.
Listen viser en user ligesåmangegange som user har svaret ja,
til et spørgsmål (myIds). Samme User fremgår altså 4 gange i listen.

Hvis User har svaret ja til 1 og 2 og 3 og 4 i de spørgsmål som man kan vælge at sortere med i nogle checkbokse(myIds), så er det rigtigt at user også skal fremgå i listen hvis en eller flere af disse er valgt.

Men ikke fremgå så mere end én gang i listen.
Avatar billede erikjacobsen Ekspert
29. marts 2005 - 22:59 #10
Hvis du har gjort spm jeg skrev i 14:29:18, så er det ikke DISTINCT's skyld.
Så er der noget andet galt. Kan du give et (lille) indhold i tabellen, din kode, hvad du  får, og hvad du forventer. Så er der sikkert nogen der kan hjælpe dig.
Avatar billede jmc Nybegynder
30. marts 2005 - 12:00 #11
Jeg prøver:
Jeg har to tabeller som bliver sat sammen i en forespørgsel hent_users.
Den ene tabel indeholder user og den anden nogle svar som user har svaret ja til.
tabel 1. user_id, navn, adresse, postnr, by
tabel 2. user_id, sp_id, version (det er spørgsmål_id og hvilket år der er svaret)
Tabel 2 kan indeholder f.eks. 4 entries for en bruger f.eks.

226,1,2005
226,2,2005
226,3,2005
226,4,2005

User 226 har i 2005 svaret ja til 1,2,3,4 hvilket er (myIds).

Mit problem er at user 226 bliver vist 4 gange i listen hvor jeg kun vil have den én gang.
Avatar billede erikjacobsen Ekspert
30. marts 2005 - 12:39 #12
Jo, men uden at se hvad du laver, er det nok kun ret gætværk fra min side.
Avatar billede jmc Nybegynder
05. april 2005 - 19:48 #13
points?
Avatar billede erikjacobsen Ekspert
05. april 2005 - 20:14 #14
Jeg samler ikke på points. Og vi har jo ikke fået mulighed for at løse dit problem ;)
Avatar billede jmc Nybegynder
05. april 2005 - 20:59 #15
ok jeg lukker 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
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