21. februar 2008 - 12:59
Der er
3 kommentarer og
1 løsning
Hjælp til forståelse af access DB
Jeg har en access db, som skal bruges til at vises på www side...
Selve DB er bygget op af 2 tabeller hvor den ene ser sådan ud.
ID, Navn1, Navn2, Navn3, Navn4, Nummer
1, 2, 4, 1, 3, nr100
2, 3, 4, 1, 2, nr200
3, 1, 3, 2, 1, nr300
Og den anden hvor den så skal hente værdierne fra felterne Navn1, Navn2, Navn3, Navn4
Den anden tabel ser sådan ud.
ID, Navn
1, Peter
2, Benjamin
3, Troels
4, John Doo
Jeg skal så lave en forespørgsel hvor alle tallene i den første tabel er byttet ud med navnen i tabel 2.
Eks. på det udtræk jeg skal bruge.
ID, Navn1, Navn2, Navn3, Navn4, Nummer
1, Benjamin, John Doo, Peter, Troels, nr100
Hvordan gør jeg det... Jeg laver www siden i ASP Vb op mod en access db.
21. februar 2008 - 13:10
#1
Det bliver en længere smøre (skift selv tabelnavnene ud):
SELECT Tabel_A1.ID, Tabel_A2.Navnet, Tabel_A2_1.Navnet, Tabel_A2_2.Navnet, Tabel_A2_3.Navnet, Tabel_A1.Nummer
FROM (((Tabel_A1 INNER JOIN Tabel_A2 ON Tabel_A1.Navn1 = Tabel_A2.ID) INNER JOIN Tabel_A2 AS Tabel_A2_1 ON Tabel_A1.Navn2 = Tabel_A2_1.ID) INNER JOIN Tabel_A2 AS Tabel_A2_2 ON Tabel_A1.Navn3 = Tabel_A2_2.ID) INNER JOIN Tabel_A2 AS Tabel_A2_3 ON Tabel_A1.Navn4 = Tabel_A2_3.ID;
(du hægter simpelthen 4 stk. Tabel2 op mod din Tabel1)
21. februar 2008 - 13:17
#2
Kan det ikke gøres i access med en relation måske...
Kan stadig ikke helt finde logikken i det... Kender godt nok Inner Join, men skal denne sql bruges på www siden eller inde i selve access db???
21. februar 2008 - 15:14
#3
Hm. Min kommentar forsvandt. Du får den igen:
Meget forenklet: En forespørgsel er i princippet det samme som en tabel. Du forespørger bare i en række tabeller samtidig - i stedet for en enkelt tabel. I stedet for at bruge "SELECT Tabelnavn.* FROM Tabelnavn" bruger du så "SELECT Forespørgselsnavn.* FROM Forespørgselsnavn"
I dit tilfælde skal du bruge 4 navne; men de ligger jo alle i den samme tabel. Derfor er du nødt til at knytte hvert af dine navnefelter i tabel1til forskellige instanser af tabel2. Opfat det som 4 uafhængige pegepinde ind i den samme tabel.
Det er det overordnede princip. Jeg vil helst ikke rodes ind i www-problematikker ;o)