Avatar billede hyperactive Nybegynder
11. december 2002 - 15:44 Der er 2 kommentarer og
1 løsning

Samle data fra to tabeller

Jeg ejer flere forskellige netbutikker, og ønsker at alle butikkerne skal benytte den samme database.... Det er dog ikke alle varer, der skal vises i alle butikker....

Jeg har en tabel, som hedder varer med felterne varenr, betegnelse, pris osv....

Derudover har jeg lavet en tabel, som hedder varerelation med felterne id, butiksid og varenr.

Hvordan får laver jeg et udtræk fra databasen tabellen varer, som kun henter de poster, som findes i tabellen varerelation, hvor butiksid f.eks. er 1.

Jeg ved godt, at man kan gøre det med flere forespørgsler, men kan man ikke på en eller anden måde lave en join af de to tabeller..... (har ikke arbejdet med join før, så jeg ved ikke hvordan det foregår)....

Håber i kan hjælpe :o)
Avatar billede sthen Nybegynder
11. december 2002 - 15:52 #1
Her er nogle eksempler på JOIN, som godt kan bruges i denne situation.

mysql> SELECT * FROM table1,table2 WHERE table1.id=table2.id;
mysql> SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;
mysql> SELECT * FROM table1 LEFT JOIN table2 USING (id);
mysql> SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id
    ->          LEFT JOIN table3 ON table2.id=table3.id;
mysql> SELECT * FROM table1 USE INDEX (key1,key2)
    ->          WHERE key1=1 AND key2=2 AND key3=3;
mysql> SELECT * FROM table1 IGNORE INDEX (key3)
    ->          WHERE key1=1 AND key2=2 AND key3=3;


Måske var det smartere at køre sessions, og derigennem tildele de enkelte butikker et butiks-id.
Avatar billede sthen Nybegynder
11. december 2002 - 15:53 #2
Men ellers kan du læse mere om JOIN her:

http://www.mysql.com/doc/en/JOIN.html
Avatar billede postndk Nybegynder
11. december 2002 - 15:54 #3
SELECT *.varer FROM varer, varerelation WHERE varer.butikid = varerelation.butiksid AND varerelation.butiksid = 1;
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
Computerworld tilbyder specialiserede kurser i database-management

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