webForumDet fria alternativet

DISTINCT problem

6 svar · 414 visningar · startad av garko

garkoMedlem sedan apr. 200339 inlägg
#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)

tydalMedlem sedan juni 20034 013 inlägg
#2

Du har ett kommatecken efter PNamn.

LarsGMedlem 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.

tydalMedlem 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.)

garkoMedlem 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)

tydalMedlem 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

LarsGMedlem 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.

124 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)