/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Select fra flere tabeller
Fra : kvamse
Vist : 532 gange
116 point
Dato : 06-01-03 10:29

Hej!

Jeg vil høre om der er nogen der kan giver et eksempel på hvordan selekter fra flere tabeller i sql med (inner relation). Det vil være fedt med et konkret eksempel.

Jeg vil også godt vide om det er muligt at hente noget op i en variabel fra databasen og bruge det i en forspørgsl senere hen på samme side.

Tak for hjælpen

 
 
Kommentar
Fra : Nyhedsbruger


Dato : 06-01-03 10:55


> Jeg vil høre om der er nogen der kan giver et eksempel på hvordan
> selekter fra flere tabeller i sql med (inner relation). Det vil være

Hey.

Prøv at kigge 2 tråde nede.....



Kommentar
Fra : kvamse


Dato : 06-01-03 11:02

prøv at kigge 2 tråde nede????

Kommentar
Fra : smorch


Dato : 06-01-03 12:03
Kommentar
Fra : kvamse


Dato : 06-01-03 14:54

Tak for hjælpen smorch

Dog lige et spørgsmål om at gemme værdierne i en variabel.
dim udvalg
strsql = "select * from udvalg where id=2"
udvalg = Conn.Execute(strSQL)
for each x in udvalg
strsql2 = "select person from personer where udvalg ="& x
set person = Conn.Execute(strSQL2)
response.write person ("person")
next

Jeg har prøvet dette, men er det helt hen i vejret eller er jeg ved, at være der??






Kommentar
Fra : smorch


Dato : 06-01-03 15:23

Jeg havde ikke lige set din sql forespørgsel......

efter

udvalg = Conn.Execute(strSQL)
person=udvalg("person")
response.write person

og så ligger personnavnet stadig i variablen person og kan bruges længere nede i scriptet. Du skal IKKE bruge for each ..... next til noget her.

Jeg går ud fra når du forespørger på id=2 at der kun er én record med dette id.

Mvh

sMorch


Kommentar
Fra : smorch


Dato : 06-01-03 15:25
Kommentar
Fra : kvamse


Dato : 06-01-03 22:21

Problemet er at der ikke kun er en records, men helt til 20. Disse skal gemmes i en variabel så jeg senere kan gå dem igemme dem med en for each og bruge værdien i ny forspørgelse.
fx. hvis variablen er: person og den indeholder 20 recs så skal jeg have gan i noget der ligner dette: (tror jeg /forstiller jeg mig)

<%
for each x in person
strsql = "select titel from postid where person="&x
set post = Conn.Execute(strsql)
response.write postid ("titel")
%>
<br>
<%
response.write("X")
next
%>
problemet er kort og godt at jeg skal hente en række værdier op fra databasen, gemme disse vædier i en variabel og på baggrund af værdierne skal jeg lave en ny forspørgelse med en for each løkke.

håber det beskriver det lidt klarer. problemet er at databasen er lavet for længst og fyldt med rigtig mange data så jeg vil helst ikke til at omdesigne den da det samtidig er en meget kompliceret database

Kommentar
Fra : kvamse


Dato : 06-01-03 22:21

Problemet er at der ikke kun er en records, men helt til 20. Disse skal gemmes i en variabel så jeg senere kan gå dem igemme dem med en for each og bruge værdien i ny forspørgelse.
fx. hvis variablen er: person og den indeholder 20 recs så skal jeg have gan i noget der ligner dette: (tror jeg /forstiller jeg mig)

<%
for each x in person
strsql = "select titel from postid where person="&x
set post = Conn.Execute(strsql)
response.write postid ("titel")
%>
<br>
<%
response.write("X")
next
%>
problemet er kort og godt at jeg skal hente en række værdier op fra databasen, gemme disse vædier i en variabel og på baggrund af værdierne skal jeg lave en ny forspørgelse med en for each løkke.

håber det beskriver det lidt klarer. problemet er at databasen er lavet for længst og fyldt med rigtig mange data så jeg vil helst ikke til at omdesigne den da det samtidig er en meget kompliceret database

Kommentar
Fra : strarup


Dato : 06-01-03 23:19

Hej Kvamse,


ang. "Arne" fra nyhedsgruppen... der foreslår dig at kigge 2 tråde længere nede, så er det til en tråd/ et indlæg ude på nyhedsgruppen "dk.edb.internet.webdesign.serverside.asp"... men før Arne eller nogen anden nyhedsbrugere ska' ku' læse dine kommentare foruden det første som er blevet sendt derud... ska' du trykke på "skriv til nyhedsbruger"... hvis man vælger funktionen "send til nyhedsgruppe" når man opretter sit spørgsmål/indlæg får ens indlæg "2 Liv"... et herinde på kandu og et ude på nyhedsgruppen... i dit tilfælde ser dit indlæg sådan her ud ude på nyhedsgruppen... -->
http://www.kandu.dk/dk/news/253100/groupid/30801

du ka' læse mere om det i dette tip fra Rellom... "Kontakt til nyhedsgrupperne"... -->
http://www.kandu.dk/dk/tip/2218

for at komme hen til nyhedsgruppen, hvis det ska' gøres heinde fra Kandu og ikke dit Mail program ka' du gøre det på følgende måde... trykke på "ASP" foroven her på siden, og vil du blive bragt til kategorien "ASP"... -->
http://www.kandu.dk/dk/emne/30801
her ka' du se Ubesvarede, Afventende og Besvarede spørgsmål, tips og helt nede i bunden "Nyheder (UseNet) dk.edb.internet.webdesign.serverside.asp"... her er det så at 2 indlæg efter dit ude på nyhedsgruppen denne tråd... "data fra flere tabeller samtidigt"... -->
http://www.kandu.dk/dk/news/252801/groupid/30801
som Arne hentydede til... så ved jeg ikke om det vil hjælpe eller ej...

mvh.

Strarup

Kommentar
Fra : kvamse


Dato : 07-01-03 08:59

Hej smorch
Ok jeg har forstået at disse data stadig ligger gemt i udvalg. men jeg skal ikke skrive dataene úd med en response write. jeg skal bruge disse data til at lave en ny forspørgelse og det er først her resultaterne skal skrives ud derfor skal jeg ind i en for each loop. lave en forspørgelse skrive resultatet af den forspørgelse osv.

jeg kan kun se at du lave en forspørgelse for at derefter skrive dataene, men som sagt ikke det jeg skal bruge. Jeg går udfra at variablen udvalg må bestå af en liste med alle de værdier som passede til forspørgelsen. jeg skal så en efter en have trukket de værdier ud og brugt i en forspørgelse. jeg ved ikke om det er helt sort det jeg prøver at forklarer eller om jeg bare ikke fatter det smorch har skrevet.

Starup tak for uddybningen

kvamse

Accepteret svar
Fra : smorch

Modtaget 116 point
Dato : 07-01-03 09:19

Det er ikke helt sort, men det havde speret en del skriverier, hvis du havde specificeret dette fra starten !

Du skal IKKE bruge for each.....next i det her; det virker ikke !

Hvis du skal behandle resultaterne fra forespørgslen kan du lige så godt gøre det fra en ende af når de kommer. D.v.s. at du laver det du nu skal - en evt. ny forespørgsel i en anden database / tabel (fx. adresser) inde i den loop jeg beskrev:

udvalg = Conn.Execute(strSQL)
do until udvalg.eof

'(her behandler du det data der er kommet ud af den første forespørgsel)
strsql2 = "select * from adresser where navn="&udvalg("person")&""
udvalg2 = Conn.Execute(strSQL2)
'(her udskrives resultatet af første og anden forespørgsel)
response.write udvalg("person") & " -- " & udvalg2("adresse")

udvalg.movenext
Loop

Mvh sMorch



Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste