- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- HELP con MySql5 e query
-
HELP con MySql5 e query
Salve ragazi, sono nuovo del forum e mi presento, inizio subito con il porvi questo quesito:
Ho questa select:
SELECT c.*, g.name AS groupname, cc.name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author
FROM mos_content AS c, mos_categories AS cc, mos_sections AS s
LEFT JOIN mos_groups AS g ON g.id = c.access
LEFT JOIN mos_users AS u ON u.id = c.checked_out
LEFT JOIN mos_users AS v ON v.id = c.created_by
LEFT JOIN mos_content_frontpage AS f ON f.content_id = c.id
WHERE c.state >= 0 AND c.catid=cc.id AND cc.section=s.id AND s.scope='content' ORDER BY s.title, c.catid, cc.ordering, cc.title, c.ordering LIMIT 0,10che funziona alla perfezione con MySql 4.? ma non funziona con MySql 5.?
DOVE STA IL PROBLEMA??? c'è qualcuno in grado di aiutarmi???
Grazie mille e complimenti per il forum.
Raffaele
-
Prova così...
**SELECT
c.*,
g.name AS groupname,
cc.name,
u.name AS editor,
f.content_id AS frontpage, s.title AS section_name, v.name AS author **
LEFT JOIN (mos_groups AS g, mos_users AS u, mos_users AS v, mos_content_frontpage AS f)
ON (g.id = c.access AND u.id = c.checked_out AND c.created_by AND f.content_id = c.id)
**WHERE c.state >= 0 AND c.catid=cc.id AND cc.section=s.id AND s.scope='content' ORDER BY s.title, c.catid, cc.ordering, cc.title, c.ordering LIMIT 0,10
**
-
ancora non và, ma nella tua select manca la clausola from ???
l'errore che mi dà cmq è:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN (mos_groups AS g, mos_users AS u, mos_users AS v, mos_content_frontpag' at line 2
-
@Dusy said:
Prova così...
**SELECT **
**c.*, **
**g.name AS groupname, **
**cc.name, **
**u.name AS editor, **
**f.content_id AS frontpage, s.title AS section_name, v.name AS author **
LEFT JOIN (mos_groups AS g, mos_users AS u, mos_users AS v, mos_content_frontpage AS f)
ON (g.id = c.access AND u.id = c.checked_out AND c.created_by AND f.content_id = c.id)
**WHERE c.state >= 0 AND c.catid=cc.id AND cc.section=s.id AND s.scope='content' ORDER BY s.title, c.catid, cc.ordering, cc.title, c.ordering LIMIT 0,10 **e cmq mettendo la clausa FORM come l'originale l'errore è sempre identico:
#1054 - Unknown column 'c.access' in 'on clause'
-
Si scusa per la FROM ma l'errore che ti dava all'inizio qual'era???**
**
-
@Dusy said:
Si scusa per la FROM ma l'errore che ti dava all'inizio qual'era???
#1054 - Unknown column 'c.access' in 'on clause'
-
E la query banale tipo
SELECT c.*
FROM mos_content AS c
ORDER BY c.accessNon da problemi???
-
@Dusy said:
E la query banale tipo
SELECT c.*
FROM mos_content AS c
ORDER BY c.accessNon da problemi???
devo confermarti che funziona, è questo lo strano...credo ci sia qualche errore di sintassi o qualcosa di cambiato tra il MySql4 ed il MySql5
-
Sì in effetti mi sono documentato ed è stata variata la sintasssi nella JOIN
[url=http://dev.mysql.com/doc/refman/5.0/en/left-join-optimization.html]MySQL 5.0 Reference Manual :: 7.2.9 LEFT JOIN and RIGHT JOIN OptimizationProva questo e dimmi se funziona...
SELECT
c.*,
g.name AS groupname,
cc.name,
u.name AS editor,
f.content_id AS frontpage, s.title AS section_name, v.name AS author
FROM mos_categories AS cc, mos_sections AS s, mos_content AS c
LEFT JOIN mos_groups AS g ON g.id = c.access
LEFT JOIN mos_users AS u ON u.id = c.checked_out
LEFT JOIN mos_users AS v ON v.id = c.created_by
LEFT JOIN mos_content_frontpage AS f ON f.content_id = c.id
WHERE c.state >= 0 AND c.catid=cc.id AND cc.section=s.id AND s.scope='content'
ORDER BY s.title, c.catid, cc.ordering, cc.title, c.ordering LIMIT 0,10
-
Che significa: non funziona?
Non ti da risultati?
-
Significa che quando lanciava il query questo
dava un errore e l'errore era:#1054 - Unknown column 'c.access' in 'on clause'
Però io mi sono scervellato e lui neanche un grazie ha detto...
-
@Dusy said:
Significa che quando lanciava il query questo
dava un errore e l'errore era:#1054 - Unknown column 'c.access' in 'on clause'
Però io mi sono scervellato e lui neanche un grazie ha detto...
Eccomi, sono tornato ora in ufficio e stò provando la tua select, ora ti dico e cmq grazie mille per l'aiuto. Scusami ma questo fine settimana ho staccato la spina.
Ora ti faccio sapere.
-
OK; grazie mille ora funziona.
GRAZIEEEEEEEEEEE
-
Happy di averti aiutato...