Avatar billede killel Nybegynder
24. juni 2008 - 15:18 Der er 5 kommentarer og
1 løsning

Sammenkædning af tabeller

Jeg har to tabeller. Tabel1 (stamdata) og tabel2(checkliste).

I tabel2 har jeg værdierne fra en masse tjeklister og i tabel1 har jeg stamdata som knytter sig til tabel2 via ID(tabel2 indeholder mange felter med samme ID).

Det jeg skal bruge en søgning på alle unikke ID'er i tabel2 hvorefter jeg skal have skrevet stamdata, fra tabel1, ud på de unikke ID'er.
Avatar billede di8leva Nybegynder
24. juni 2008 - 16:40 #1
Mener du at du (1) kun skal skrive ud dem der har kun EN post i checkliste, eller (2) alle fra tabel2, men bare EN gang også hvis de findes der flere gange?

Hvis det er nummer (2) så kan du göre det sådan her:

SELECT tabel1.* FROM tabel2 LEFT JOIN tabel1 ON tabel2.ID = tabel1.ID
Avatar billede killel Nybegynder
27. juni 2008 - 13:04 #2
Det jeg skal gøre er at søge tabel2 igennem for unikke id'er og så bruge disse unikke id'er til at finde tilhørende stamdata i tabel1
Avatar billede killel Nybegynder
27. juni 2008 - 13:05 #3
umiddelbart får jeg denne fejl når jeg bruger dit forslag:
#1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay
Avatar billede pidgeot Nybegynder
27. juni 2008 - 13:15 #4
...og som der står i den fejlbesked skal du blot køre queryen SET SQL_BIG_SELECTS=1 først (dvs. med samme forbindelse som selve din query), da du har ramt den sikkerhedsgrænse der ligger i MySQL mod at man uforvarende kommer til at køre en query der skal kigge på alt for mange rækker, og skal vente en halv time på at få et svar. *-)

*går igen*
Avatar billede killel Nybegynder
27. juni 2008 - 13:39 #5
Jeg skal altså køre "SET SQL_BIG_SELECTS=1" samtidig med "SELECT tabel1.* FROM tabel2 LEFT JOIN tabel1 ON tabel2.ID = tabel1.ID"?

Umiddelbart får jeg en fejlmeddelelse hvis jeg kører dem samtidig og hvis jeg først kører "SET SQL_BIG_SELECTS=1" og derefter "SELECT tabel1.* FROM tabel2 LEFT JOIN tabel1 ON tabel2.ID = tabel1.ID" får jeg samme fejl
Avatar billede killel Nybegynder
31. januar 2012 - 15:25 #6
lukket, uløst
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