Avatar billede cool_casper Nybegynder
20. marts 2004 - 11:44 Der er 5 kommentarer og
1 løsning

Svært SQL kald til Access

Hej,

Jeg er lidt på den omkring et kald jeg skal lave til Access. Jeg er ved at opbygge et site med forskellige vine. De vine kommer fra forskellige områder og de forskellige områder kommer fra et land. Desuden har det et Type, som angiver om det rød-, hvid etc.
Jeg har lavet 4 tabeller til dette.

_Vin_
VindID, VinNavn, VinDesc, VinAreaID, VinTypeID, VinPrice

_Area_
AreaID, AreaName, AreaDesc, AreaCountryID

_Country_
CountryID, CountryName

_Type_
TypeID, TypeName

Hvordan laver jeg nu eet (!!) kald som henter alle mine vine med f.eks. VinCountryID = 5 ?
Avatar billede eagleeye Praktikant
20. marts 2004 - 11:50 #1
Sådan her:

SQL = "SELECT _vin_.* FROM (_vin_ LEFT JOIN _area_ ON _vin_.VinAreaID = _area_.AreaID) LEFT JOIN _Country_ ON _area_.AreaCountryID = _Country_.CountryID WHERE _Country_.CountryID = 5"
Avatar billede cool_casper Nybegynder
20. marts 2004 - 11:51 #2
hehe.. Min tabel hedder ikke "_Vin_", men jeg prøver det lige !-)
Avatar billede eagleeye Praktikant
20. marts 2004 - 11:53 #3
ok, jeg antog det var tabelnanve du havde angivet :)
Avatar billede cool_casper Nybegynder
20. marts 2004 - 11:59 #4
Det ser sgu ud som om det virker.. Top nice! :o)
Jeg kunne vel ikk få herren til at forklare mig hvad der sker i de forskellige kommandoer? Det ville jo være rart at kunne klare det selv næste gang! ;)
Mest om hvordan min tabel dynamisk ser ud under kommandoerne..
Avatar billede eagleeye Praktikant
20. marts 2004 - 12:05 #5
LEFT JOIN bruges til at JOIN'e to tabeller og man bruger det som står erfter ON til at fortælle på hvor de to tabeller skal JOINs.

Så i princippet laver man et stor tabel med alle kolonnerne i:
VindID, VinNavn, VinDesc, VinAreaID, VinTypeID, VinPrice, AreaID, AreaName, AreaDesc, AreaCountryID, CountryID, CountryName

Så kan man sætte WHERE'en ind sådan den kun vælger de vin som kommer fra et bestemt land. Og man kan begrænse antallet at kolonner man henter ud med at skrive det etfer SELECT'en som hver hvor den henter alle kolonnerne fra tabellen vin:
SELECT _vin_.* FROM..

Lidt mere informarion her:
http://www.w3schools.com/sql/sql_join.asp
Avatar billede cool_casper Nybegynder
20. marts 2004 - 12:09 #6
For cool - takker! :o)
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

IT-JOB