Kan du ikke joine de to tabeller og lave en connection. Derpå selvfølgelig droppe Select * i tilfælde af at du ikke skal bruge alle kolonner?
Jeg er ikke så stærk i relationer mellem tabeller + SQL sproget, så hvis du kunne vise mig et kode eksempel ville jeg være meget taknemmelig :-)
Ok. I øjeblikket arbejder jeg med en udlåns databse, der viser hvilke mus der er udlånt og hvem der har dem.
Jeg henter oplysninger fra 3 tabeller, leverandør, mus, mouse_deal i følgende SQL sætning.
\"SELECT leverandor.id, leverandor.leverandor, mus.id, mus.navn, mus.model, mus.model_nr, mus.hand, mouse_deal.id, mouse_deal.init, mouse_deal.status, mouse_deal.dato_udlaan, mouse_deal.dato_retur, mouse_deal.rykket_dato, mouse_deal.kommentar FROM leverandor, mouse_deal, mus WHERE mus.id = mouse_deal.mus_id And mus.lev_id = leverandor.id;\"
Vil ovenstående SQL eksempel også kunne bruges hvis jeg har brug for følgende:
<opret forbindelse>
<SQL: select bilID from tableX>
<hent records>
<loop gennem alle mine records>
<opret forbindelse2>
<SQL: select * from tableZ where ID = bilID>
<hent record>
<indlæs data i variabel>
<luk forbindelse>
<udskriv variabel fra forbindelse2>
<udskriv diverse data fra forbindelse1>
<next>
<luk forbindelse>
Jeg har altså brug for at der loopes gennem tabel A på basis af diverse kriteriesæt.
I hvert loop ønsker jeg at udskrive diverse data fra mine records. MEN: een af de data jeg ønsker at udskrive er f.eks. et ID, som repræsenterer et navn i tabel B. Jeg skal altså for hvert loop igennem tabel A hente et navn fra tabel B udfra en ID i tabel A.
Wauu - Giver det overhovedet nogen mening ???
:-)
Prøv at beskrive tabellerne så er det lettere at se sammenhængen?
Vi forestiller os at jeg skal lave et system til administrering af domæner:
tableA: ID, domænenavn, mailserverID
tableB: ID, mailserverNavn
Der loopes gennem tableA for at hente ALLE domænenavne. For hvert domænenavn har jeg brug for at lave et opslag i tableB, således at jeg ikke blot udskriver mailserverID på skærmen, men det egentlige navn på mailserveren (som findes i tableB)
Gi´r det mere mening ?
SELECT * FROM tableA, tableB WHERE tableA.id = tableb.id.
Så får du alle rækker i tabel A og hvis der findes et matchende id i tabelB så skriver den også navnet!
Gir det mening? :-)
Mit output skal se således ud:
domæne: kha.dk
mailserver: mail.kha.dk
domæne: microsoft.dk
mailserver: mail.microsoft.dk
Jeg laver min SQL således:
SELECT * FROM tableA, tableB WHERE tableA.mailserverID = tableB.ID
Er det korrekt ?
Hvis ja; hvorledes refererer jeg nu til mit mailservernavn?
<%=rs(\"mailserverNavn\")%> ?!?!?!
Ja eller
<%
navn = rs(\"mailservernavn\");
%>
og så
<%Response.write(navn)%>
Ahaaaaa - endelig faldt tiøren for mig :-)
TUSIND tak for din tid :-)