Avatar billede musicchart.dk Nybegynder
09. juli 2006 - 23:09 Der er 3 kommentarer og
2 løsninger

INNER JOIN hjælp

Jeg er ikke den allermest erfarne når det kommer til JOIN og INNER JOIN. Så jeg håber der er en der vil kigge på nedenstående, og se om det er korrekt:

Tabeller:

[tbl_A]
col_aa (nøgle)
col_ab
col_ac
col_ad
col_ae

[tbl_B]
col_ba (tbl_A fjernnøgle)
col_bb

[tbl_C]
col_ca (tbl_A fjernnøgle)
col_cb


SQL:

SELECT tbl_A.col_aa
FROM tbl_A
INNER JOIN tbl_B ON tbl_B.col_ba = tbl_A.col_aa
INNER JOIN tbl_C ON tbl_C.col_ca = tbl_A.col_aa
WHERE
(DATE(tbl_A.col_ab) BETWEEN DATE(minDate) AND DATE(maxDate))
tbl_A.col_ac >= 8 AND
tbl_A.col_ad = 1 AND
(tbl_A.col_ae = 8000 OR tbl_A.col_ae = 8381) AND
(tbl_C.col_cb = 2 OR tbl_C.col_cb = 3) AND
(tbl_B.col_bb = 4 OR tbl_B.col_bb = 5)

God VM/sommer hilsen,
Bjarke
Avatar billede bennytordrup Nybegynder
09. juli 2006 - 23:12 #1
SELECT tbl_A.col_aa
FROM tbl_A
INNER JOIN tbl_B ON tbl_B.col_ba = tbl_A.col_aa
INNER JOIN tbl_C ON tbl_C.col_ca = tbl_A.col_aa
WHERE
(DATE(tbl_A.col_ab) BETWEEN DATE(minDate) AND DATE(maxDate)) AND
tbl_A.col_ac >= 8 AND
tbl_A.col_ad = 1 AND
(tbl_A.col_ae = 8000 OR tbl_A.col_ae = 8381) AND
(tbl_C.col_cb = 2 OR tbl_C.col_cb = 3) AND
(tbl_B.col_bb = 4 OR tbl_B.col_bb = 5)
Avatar billede arne_v Ekspert
09. juli 2006 - 23:13 #2
dine joins ser OK ud

jeg er lidt i tvivl om

(DATE(tbl_A.col_ab) BETWEEN DATE(minDate) AND DATE(maxDate))'
Avatar billede arne_v Ekspert
09. juli 2006 - 23:14 #3
og så hedder det fremmednøgle og ikke fjernnøgle

:-)
Avatar billede musicchart.dk Nybegynder
09. juli 2006 - 23:18 #4
Haha Arne, det er da også rigtig. Det må være varmen :o)

Jamen, det lyder da dejligt - så er der alligevel festet noget ind efter gennemlæsning af utallige JOIN forklaringer.

Smider du et svar, så deler i point.
Avatar billede arne_v Ekspert
09. juli 2006 - 23:29 #5
ok
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