Avatar billede hooh Nybegynder
22. februar 2004 - 18:39 Der er 4 kommentarer og
1 løsning

SQL-Problem Inner join

hej

Jeg har nedenstående SQL til en access DB og kører...

men jeg kan ikke få den til at køre i mySQL.

Kan nogen hjælpe mig her.

SELECT
FORUM_FORUM.F_SUBJECT,
FORUM_TOPICS.FORUM_ID,
FORUM_TOPICS.TOPIC_ID,
FORUM_TOPICS.CAT_ID,
FORUM_MEMBERS.MEMBER_ID,
FORUM_MEMBERS.M_NAME,
FORUM_TOPICS.T_SUBJECT,
FORUM_TOPICS.T_MESSAGE,
FORUM_TOPICS.T_DATE,
FORUM_MEMBERS.M_SIG
FROM FORUM_FORUM
    INNER JOIN (FORUM_MEMBERS INNER JOIN FORUM_TOPICS ON FORUM_MEMBERS.MEMBER_ID = FORUM_TOPICS.T_AUTHOR)
    ON (FORUM_FORUM.FORUM_ID = FORUM_TOPICS.FORUM_ID) AND (FORUM_FORUM.CAT_ID = FORUM_TOPICS.CAT_ID)
WHERE
    FORUM_FORUM.FORUM_ID=43
    and FORUM_TOPICS.T_STATUS < 2
    ORDER BY FORUM_TOPICS.T_DATE
    DESC

Jeg får denne fejl :

You have an error in your SQL syntax near '(FORUM_MEMBERS INNER JOIN FORUM_TOPICS ON FORUM_MEMBERS.MEMBER_ID = FORUM_TOPICS' at line 1
Avatar billede hooh Nybegynder
22. februar 2004 - 18:44 #1
Jeg har lavet denne som virker...

SELECT
FORUM_FORUM.F_SUBJECT,
FORUM_TOPICS.FORUM_ID,
FORUM_TOPICS.TOPIC_ID,
FORUM_TOPICS.CAT_ID,
FORUM_MEMBERS.MEMBER_ID,
FORUM_MEMBERS.M_NAME,
FORUM_TOPICS.T_SUBJECT,
FORUM_TOPICS.T_MESSAGE,
FORUM_TOPICS.T_DATE,
FORUM_MEMBERS.M_SIG
FROM FORUM_FORUM, FORUM_MEMBERS,FORUM_TOPICS
WHERE FORUM_MEMBERS.MEMBER_ID = FORUM_TOPICS.T_AUTHOR
AND FORUM_FORUM.FORUM_ID = FORUM_TOPICS.FORUM_ID
AND FORUM_FORUM.CAT_ID = FORUM_TOPICS.CAT_ID
AND    FORUM_FORUM.FORUM_ID=43
and FORUM_TOPICS.T_STATUS < 2
ORDER BY FORUM_TOPICS.T_DATE DESC

Jeg ved ikke om det er den rigtige, men den virker :-)
Avatar billede arne_v Ekspert
22. februar 2004 - 18:45 #2
Prøv og flyt lidt om på FROM delen:

FROM (FORUM_MEMBERS INNER JOIN FORUM_TOPICS ON FORUM_MEMBERS.MEMBER_ID = FORUM_TOPICS.T_AUTHOR)
INNER JOIN FORUM_FORUM ON (FORUM_FORUM.FORUM_ID = FORUM_TOPICS.FORUM_ID) AND (FORUM_FORUM.CAT_ID = FORUM_TOPICS.CAT_ID)
Avatar billede hooh Nybegynder
22. februar 2004 - 18:50 #3
hej arne

Jeg har afprøvet din SQL og det virker.
Din måde er sikkert også den rigtige..

Så du får pointene...

jeg har oprettet et spg til dig, så du kan dine point.

http://www.eksperten.dk/spm/468429
Avatar billede arne_v Ekspert
22. februar 2004 - 18:56 #4
Med præcis INNER JOIN vil jeg mene at de giver præcis samme output.

Det er først med LEFT JOIN at forskellen viser sig.

Og man derfor er nødt til at have de inderste udtryk til venstre.
Avatar billede hooh Nybegynder
22. februar 2004 - 18:57 #5
ok Tak
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