Avatar billede konder Nybegynder
10. september 2001 - 10:08 Der er 16 kommentarer og
1 løsning

flere SQL sætninger på een gang

jeg har to tabeller og en sql- der trækker oplysninger ud af tabel 1- desuden en der på grundlag x-postnr/tabel1 trækker oplysninger ud af tabel 2, men jeg skal bruge en 3. der på grundlag af y-postnr/tabel1 trækker de samme oplysn ud af tabel 2.
jeg har forsøgt at lave en sql3 men nej. forstår nogen mit problem
Avatar billede webbe Nybegynder
10. september 2001 - 10:11 #1
Prøv at komme med noget kode!
Avatar billede nordclc Nybegynder
10. september 2001 - 10:12 #2
Har jeg forstået det rigtigt?

select * from tabel2 where tabel2.postnr = tabel1.postnr_y

//Claus
Avatar billede konder Nybegynder
10. september 2001 - 10:13 #3
sql=\"SELECT * FROM tabel1 \";   
sql+=\"WHERE frapostnr=\"+frapostnr;

sql2=\"SELECT Felt1, Felt2, Felt3  FROM  Postnr \";   
sql2+=\"WHERE Felt1=\"+frapostnr;

sql3=\"SELECT Felt1, Felt2, Felt3  FROM  Postnr \";   
sql3+=\"WHERE Felt1=\"+tilpostnr;
Avatar billede nordclc Nybegynder
10. september 2001 - 10:16 #4
Jeg forstår ikke havd du mener?
Avatar billede nordclc Nybegynder
10. september 2001 - 10:17 #5
Hvilket resultat forventer du at få?
Avatar billede webbe Nybegynder
10. september 2001 - 10:17 #6
Som jeg ser det her hænger dine sql-sætninger ikke sammen - hverken sql og sql+!

Den mest korrekte måde at lave en sql-sætning på er:

sql = \"SELECT * FROM tabel1 WHERE frapostnr=\"&string
Connect.Execute(sql)

Som din kode er bliver din sql ikke eksekveret!
Avatar billede konder Nybegynder
10. september 2001 - 10:17 #7
jeg troede naivt at jeg bare ku sige sql2 og så sætte et OR bagefter
Avatar billede konder Nybegynder
10. september 2001 - 10:19 #8
det virker altså godtnok lige indtil jeg skal have oplysninger på *tilpostnr*
Avatar billede nordclc Nybegynder
10. september 2001 - 10:19 #9
Hvis du gerne vil dele dine sætninger:

sql = =\"SELECT * FROM tabel1 \"
sql = sql & \"WHERE frapostnr=\"+frapostnr
Avatar billede eagleeye Praktikant
10. september 2001 - 10:21 #10
Jeg er ikke helt med.

Hvad ønsker du som slut resultat?

Du har noget frapostnr og tilpostnr og så bruger du =??? jeg ville nok forvendte sådan noget her:

sql2=\"SELECT Felt1, Felt2, Felt3  FROM  Postnr \";   
sql2+=\"WHERE Felt1 BETWEEN (\"+frapostnr+\",\"+frapostnr+\")\"

BTW hvis du benyttter ASP så brug & istedet for +.
Avatar billede nordclc Nybegynder
10. september 2001 - 10:21 #11
Prøv at udskrive værdien af tilpostnr lige før du kalder:

Response.write tilpostnr
Avatar billede webbe Nybegynder
10. september 2001 - 10:23 #12
Du kan vælge fra flere tabeller i én sql-sætning eller lave flere sql-sætninger:

Én sætning:

sql = \"SELECT * FROM tabel1,tabel2 WHERE ((tabel2.postnr=tabel1.postnr_x) AND (tabel2.postnr=tabel1.postnr_y))\"
Connect.Execute(sql)

Flere sætninger:

sql1 = \"SELECT * FROM tabel2 WHERE postnr=\"&request.querystring(\"postnr\")
Connect.Execute(sql1)

sql2 = \"SELECT * FROM tabel1 WHERE postnr_x=\"&sql1(\"postnr\")
Connect.Execute(sql2)

sql3 = \"SELECT * FROM tabel1 WHERE postnr_y=\"&sql1(\"postnr\")
Connect.Execute(sql3)

Personligt ville jeg vælge at bruge én sætning!
Avatar billede bobbedude Nybegynder
10. september 2001 - 10:24 #13
lytter >>
Avatar billede konder Nybegynder
10. september 2001 - 11:15 #14
det er ligså svært at beskrive problemet som at forstå svaret. Jeg skal have postoplysninger til to forskellige postnr og får samme svar til dem begge. også med webbes forslag
Avatar billede webbe Nybegynder
10. september 2001 - 11:27 #15
Måske hvis du forklarede hvad det skal bruges til - så kunne vi måske forstå problemet!

Som fx. hvorfor du skal have postoplysninger til 2 forskellige postnumre???
Hvilket svar du forventer at få???
Hvordan tabel1 og tabel2 hænger sammen???

Du har ikke givet mange oplysninger der kan gøre det let at forstå dit problem!!!

Personligt kan jeg ikke se noget formål med at koble oplysninger om 2 forskellige postnumre sammen i ét recordset!! ;0)
Avatar billede konder Nybegynder
10. september 2001 - 11:33 #16
jeg går ud fra en database hvor folk skriver både et frapostnr og et tilpostnr. jeg vil så gerne ha postnroplysninger(dvs gade/by) til først det ene og så det andet postnr.
Avatar billede eagleeye Praktikant
10. september 2001 - 11:51 #17
sql2=\"SELECT Felt1, Felt2, Felt3 FROM Postnr WHERE Felt1=\"&frapostnr;
set rs_fra = Conn.Execute (sql2)

udskriv med rs_fra(\"felt1\"),rs_fra(\"felt2\") osv.

sql3=\"SELECT Felt1, Felt2, Felt3 FROM Postnr WHERE Felt1=\"&tilpostnr;
set rs_til = Conn.Execute (sql3)

udskriv med rs_til(\"felt1\"),rs_til(\"felt2\") osv.
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