webForumDet fria alternativet
Logga in / Bli medlem

DISTINCT problem

ASP

6 svar · 416 visningar · startad av garko

Medlem sedan apr. 200339 inlägg
Trådstart#1

har lite problem med denna kod här.
får error meddelande :
[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

fel uppstår på line 8 som är rsR.Open uppdatera, objC, 1, 3
men med stor sannolikhet så är det
uppdatera ="SELECT DISTINCT(kundId),PNamn, FROM PROD WHERE KundId="&nr&""
som är fel
-----------------------------------------------------------------------------------
<%
Set objC = Server.CreateObject("ADODB.Connection")
objC.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db.mdb")&";"
Set rsR = Server.CreateObject("ADODB.Recordset")
dim nr
nr =364498
uppdatera ="SELECT DISTINCT(kundId),PNamn, FROM PROD WHERE KundId="&nr&""
rsR.Open uppdatera, objC, 1, 3
while not rsR.eof

       response.write rsR("kundId")
       response.write rsR("PNamn")
        rsR.movenext
  wend

rsR.Close
objC.Close
set rsR = nothing
set objC = nothing%>
-----------------------------------------------------------------------------------

det jag vill gör är att KundId ska bara skrivas ut en gång och PNamn flera gånge (alltså innehållet)

Medlem sedan juni 20034 013 inlägg
#2

Du har ett kommatecken efter PNamn.

Medlem sedan dec. 200012 464 inlägg
#3

det jag vill gör är att KundId ska bara skrivas ut en gång och PNamn flera gånge (alltså innehållet)

Om det finns flera olika pnamn för samma kundid så får du inte det resultatet du vill med den frågan.

Medlem sedan juni 20034 013 inlägg
#4

Sen skulle jag ha gjort så här:

uppdatera = "SELECT PNamn FROM PROD WHERE KundId = " & nr
rsR.Open uppdatera, objC, 1, 3
response.write nr & "<br>"
while not rsR.eof
response.write rsR("PNamn") & "<br>"
rsR.movenext
wend

(Du vet ju redan vilket KundId du vill skriva ut och behöver därför inte hämta det ur databasen.)

Medlem sedan apr. 200339 inlägg
#5

det jag vill lära mig är att kunna till från en databas som liknar
dålig exempel men men

id Vnamn bnamn
1 olle petter
2 olle anika
3 peter stefan

det jag vill få fram från denna tabell är
olle petter
anika

helst så ska man göra detta med en SQL-sats (Distinct)

Medlem sedan juni 20034 013 inlägg
#6

Jag förstår inte riktigt av ditt exempel vad det är du vill få ut, men i alla fall:

distinct(Vnamn) ger:
olle
peter

distinct(bnamn) ger:
petter
anika
stefan

Medlem sedan dec. 200012 464 inlägg
#7

Det går aldrig att få ett resultat där de olika raderna har olika antal kolumner.

Det är sådant som man hanterer i presentationslogiken.

379 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
117 ms — deklarationer (db)
124 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)