215 messaggi dal 29 aprile 2001
www.antidoto.org
Mi dite dov'è l'errore?
Questa query

SELECT B.BOOKMARK_ID, C.CAT_NAME, F.F_SUBJECT, T.TOPIC_ID, T.T_SUBJECT, T.T_REPLIES, T.T_DATE, T.T_LAST_POST, M.M_NAME,T.FORUM_ID, T.CAT_ID, T.T_LAST_POST_AUTHOR FROM (FORUM_CATEGORY C INNER JOIN FORUM_FORUM F ON C.CAT_ID = F.CAT_ID) INNER JOIN (FORUM_MEMBERS M INNER JOIN (FORUM_BOOKMARKS B INNER JOIN FORUM_TOPICS T ON B.B_TOPICID = T.TOPIC_ID) ON M.MEMBER_ID = T.T_AUTHOR) ON F.FORUM_ID = T.FORUM_ID WHERE (B.B_MEMBERID=1)

in access funziona mentre dopo la migrazione in mysql da questo errore

You have an error in your SQL syntax near '(FORUM_MEMBERS M INNER JOIN (FORUM_BOOKMARKS B INNER JOIN FORUM_TOPICS T ON B.B_' at line 1

La parte incrimanata l'ho messa in grassetto nella query

@ntidoto - Tutta la Roma dei Pub
http://www.antidoto.org
Il migliore sito sui pub di Roma, sul mondo della birra e non solo
30 messaggi dal 05 ottobre 2001
non conosco mysql, ma vari linguaggi sql non supportano inner join; la sintassi (ad esempio per oracle) è leggermente diversa, ed utilizza semplici where x=y magari con l'aggiunta di qualche (+);
forse è meglio controllare la documentazione di mysql
823 messaggi dal 05 agosto 2002
No MySQL supporta benissimo la sintassi standard (INNER, RIGHT/LEFT OUTER JOIN ...) devi solo riscrivere la query con la sintassi giusta!
Una migrazione non è mai un copia e incolla ....

Inoltre i (+) sono la vacchia e non standard sintassi usata da Oracle (fino alla versione 8) e NON vanno certo messi qua e là a caso!
Modificato da pabloj il 14 maggio 2003 21.15 -

Stick to your guns.
Formazione su MySQL o Firebird? Contattami!
215 messaggi dal 29 aprile 2001
www.antidoto.org
Si ma quale sarebbe la sintassi giusta. E' evidente che c'è un errore ma se sapevo correggerlo non avrei chiesto. Tutto il resto sono riuscito a modificarlo ma questa query non ho capito dove è sbagliata.

@ntidoto - Tutta la Roma dei Pub
http://www.antidoto.org
Il migliore sito sui pub di Roma, sul mondo della birra e non solo
823 messaggi dal 05 agosto 2002
Non te la prendere, il mio istinto quando vedo errori di sintassi è di non rispondere, perchè si risolvono con 1.manuale e 2. tentativi, siccome una select non produce danni (tranne la select into outfile)!
Comunque un esempio funzionante di inner join, da cui trarre ispirazione è:

select customer.first_name, country.country, region.region
from ((customer inner join city on customer.city_id = city.city_id) inner join region on city.region_id = region.region_id) inner join country on region.country_id = country.country_id

Stick to your guns.
Formazione su MySQL o Firebird? Contattami!
215 messaggi dal 29 aprile 2001
www.antidoto.org
A parte l'abbreviazione per i nomi delle tabelle non vedo cos'altro non vada. Ho provato a toglierle mettendo i nomi completi delle tabelle ma l'errore rimane lo stesso.
Cosa c'è che non va?

@ntidoto - Tutta la Roma dei Pub
http://www.antidoto.org
Il migliore sito sui pub di Roma, sul mondo della birra e non solo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.