Avatar billede mathiasiversen Nybegynder
08. september 2001 - 15:03 Der er 27 kommentarer og
2 løsninger

SQL - læse id fra en tabel og hente data fra en anden!

Hej

Jeg har følgende stykke kode:
id = request.querystring(\"ID\")
strSQL = \"Select ID From maalgruppetilmeld Where IDmaalgruppe = \"&request.querystring(\"id\")&\";\"

Nu har jeg så brug for at at udskrive nogle data fra en anden tabel hvor kriteriet er at ID nummerene er dem der ligger i strSQL

Nogle der kan hjælpe?
mvh
Mathias



Avatar billede cyb Nybegynder
08. september 2001 - 15:09 #1
id = request.querystring(\"ID\")
strSQL = \"select * from OtherTable where id in (Select ID From maalgruppetilmeld Where IDmaalgruppe = \"&request.querystring(\"id\")&\");\"

Avatar billede cyb Nybegynder
08. september 2001 - 15:11 #2
id = request.querystring(\"ID\")
strSQL = \"Select maalgruppetilmeld.id, OtherTable.data From maalgruppetilmeld, OtherTable Where maalgruppetilmeld.id = OtherTable.id AND maalgruppetilmeld.IDmaalgruppe = \"&request.querystring(\"id\")&\";\"
Avatar billede 2-maz Nybegynder
08. september 2001 - 15:19 #3
husk også hvis id er tal skal det gerne se sådan her ud:

Jeg id = request.querystring(\"ID\")har følgende
strSQL = \"Select ID From maalgruppetilmeld Where IDmaalgruppe = \" & Request.Querystring(\"id\")
Avatar billede horsmark Nybegynder
08. september 2001 - 15:24 #4
1. mulighed loope igennem begge tabeller (besværligt)

id = request.querystring(\"ID\")
strSQL_ID = \"Select ID From maalgruppetilmeld Where IDmaalgruppe = \" & ID & \";\"
set objRS_ID = conn.execute(strSQL_ID)

strSQL_andenID = \"Select ID AS AndenID FROM blabla\"
set objRS_andentabel = conn.execute(strSQL_andenID)

Do
Do
  If objRS_ID(\"ID\") = objRS_andentabel(\"AndenID\") Then
  response.write \"match!\"
  End If
objRS_andentabel.movenext
Loop While Not objRS_andentabel.EOF
objRS_andentabel.movefirst
objRS_ID.movenext
Loop While Not objRS_ID.EOF

2. den fede

Inkorporer din anden tabel i dit oprindelige strSQL så du allerede har data tilgængeligt!

strSQL = \"Select maalgruppetilmeld.ID, andentabel.ID \" &_
        \"From maalgruppetilmeld, andentabel \" &_
        \"Where maalgruppetilmeld.IDmaalgruppe = \"&id &_
        \" AND andentabel.ID = maalgruppetilmeld.ID;\"
Mvh.
Jesper
Avatar billede horsmark Nybegynder
08. september 2001 - 15:39 #5
\"Where maalgruppetilmeld.IDmaalgruppe = \"&id &_

skal selvfølgeligt være

\"Where maalgruppetilmeld.ID = \" & id &_
Avatar billede horsmark Nybegynder
08. september 2001 - 15:41 #6
damn at ikke tænke sig om OG at have en langsom forbindelse til nettet (sidste svar annulleret!) *tsk*
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 15:45 #7
Den skal være sådan her, men virker ikke:
strSQL = \"select * from stamfil where id in (Select ID From maalgruppetilmeld Where ID in (select * From maalgruppe where maalgruppenavn = \"&request.querystring(\"id\")&\")&\")\"
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 15:52 #8
hvad gør jeg galt i den sidste del?
Avatar billede horsmark Nybegynder
08. september 2001 - 15:57 #9
strSQL = \"select * from stamfil where id in (Select ID From maalgruppetilmeld Where ID in (select * From maalgruppe where maalgruppenavn = \"&request.querystring(\"id\")& \"))\"

-> ))
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 16:00 #10
Ok, nu går den ikke lige så meget amok, men skriver at der stadig er en syntaxsfejl:


maalgruppe = request.querystring(\"maalgruppe\") 
strSQL = \"select * from stamfil where id in (Select ID From maalgruppetilmeld Where IDmaalgruppe in (select ID From maalgruppe where maalgruppenavn = \"&request.querystring(\"maalgruppe\")&\"))\"
Avatar billede horsmark Nybegynder
08. september 2001 - 16:08 #11
kør de enkelte selects for sig og se om de kører ok

hvad er fejlen fra browseren (ville hjælpe hvis du kopierede den ind her på eksperten)?
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 16:09 #12
fejl:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i forespørgselsudtrykket \"id in (Select ID From maalgruppetilmeld Where IDmaalgruppe in (select ID From maalgruppe where maalgruppenavn = ))\".
/ps4/findmaalgruppe.asp, line 16
Avatar billede horsmark Nybegynder
08. september 2001 - 16:17 #13
nå request.querystring(\"maalgruppe\") = \"\"

dvs intet :-)
Avatar billede horsmark Nybegynder
08. september 2001 - 16:19 #14
derfor blabla.... maalgruppenavn = ))\".
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 16:25 #15
det kan jeg ikke forstå, fordi jeg sender netop en variabel videre!
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 16:25 #16
der burde stå 1 i målgruppen
Avatar billede horsmark Nybegynder
08. september 2001 - 16:26 #17
hvad giver en
response.write request.querystring(\"maalgruppe\") ?
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 16:28 #18
følgende:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
Der er ikke angivet nogen kommandotekst for kommandoobjektet.
/ps4/findmaalgruppe.asp, line 15
Avatar billede horsmark Nybegynder
08. september 2001 - 16:32 #19
hmm hvis du vil prøv lige at sende koden til HorsMark@tdc.dk
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 16:39 #20
så er de sendt!
Avatar billede horsmark Nybegynder
08. september 2001 - 16:56 #21
prøv lige at ændre request.querystring(\"maalgruppe\") til request.form(\"maalgruppe\")
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 17:00 #22
fejlmeddelse:
Datatyperne stemmer ikke overens i kriterieudtrykket.

Avatar billede mathiasiversen Nybegynder
08. september 2001 - 17:03 #23
Kan man ikke bruge talværdier i strSQL = ...
Avatar billede horsmark Nybegynder
08. september 2001 - 17:05 #24
oki nu nærmer vi os målet tro jeg *s*

sæt følgende ind i toppen af findmaalgruppe.asp
response.write request.querystring(\"maalgruppe\") & \"<br>\"

Det er jo vigtigt for dig at se hvad der skal bruges i databasesøgningen eller OM der overhovedet er noget sendt

Derefter skal du ændre slutningen af dit strSQL til
..where maalgruppenavn = \'\"&request.form(\"maalgruppe\")&\"\')) \"
fordi... når du henter tekst fra db´en SKAL det i \'\'
Avatar billede horsmark Nybegynder
08. september 2001 - 17:06 #25
ups sæt også følgende ind i toppen af findmaalgruppe.asp

response.write request.form(\"maalgruppe\") & \"<br>\"
Avatar billede horsmark Nybegynder
08. september 2001 - 17:07 #26
ved tal = \"SELECT * FROM test WHERE id=1\"
ved tekst = \"SELECT * FROM test WHERE navn=\'kaj\'\"
Avatar billede horsmark Nybegynder
08. september 2001 - 17:10 #27
tjeck følgende ud :-)
http://www.sqlcourse.com/
Avatar billede mathiasiversen Nybegynder
08. september 2001 - 17:13 #28
Nu virker det - det der manglede var de to \' \'
Tusinde tak for hjælpen! Det er lækkert når det virker!
Avatar billede horsmark Nybegynder
08. september 2001 - 17:16 #29
jeps *smil*
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