[mysql] erreur SQL

Le
heulman
Bonjour,

Comme je ne suis pas très à l'aise avec les requetes sql dès qu'elles
deviennnent un peu complexes, je me tourne vers vous.
J'ai une requete sql qui passe parfaitement sous mysql 4.xx mais pas sous
3.xx. Et je n'arrive pas à résoudre le pb.

Voilà la requête:
SELECT pn_group_membership.pn_gid,pn_groups.pn_name,
CASE WHEN ISNULL(msa_access) THEN 0 ELSE msa_access END
FROM pn_group_membership
INNER JOIN pn_groups
ON pn_groups.pn_gid = pn_group_membership.pn_gid
LEFT JOIN pn_mediashare_access
ON msa_groupid = pn_group_membership.pn_gid
AND msa_albumid = 1
UNION
SELECT -1,'Tout le monde',
CASE WHEN ISNULL(msa_access) THEN 0 ELSE msa_access END
FROM pn_mediashare_access
WHERE msa_groupid = -1
AND msa_albumid = 1et voilà l'erreur que j'obtiens sous mysql 3.xx:You have
an error in your SQL syntax near 'UNION SELECT -1,'Tout le
monde','mécékoidonkivapa ?merci,chaK!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
heulman
Le #21862481
sorry pour la mise en page

Voilà la requête:
SELECT pn_group_membership.pn_gid,pn_groups.pn_name,
CASE WHEN ISNULL(msa_access) THEN 0 ELSE msa_access END
FROM pn_group_membership
INNER JOIN pn_groups
ON pn_groups.pn_gid = pn_group_membership.pn_gid
LEFT JOIN pn_mediashare_access
ON msa_groupid = pn_group_membership.pn_gid
AND msa_albumid = 1
UNION
SELECT -1,'Tout le monde',
CASE WHEN ISNULL(msa_access) THEN 0 ELSE msa_access END
FROM pn_mediashare_access
WHERE msa_groupid = -1
AND msa_albumid = 1

et voilà l'erreur que j'obtiens sous mysql 3.xx:
You have an error in your SQL syntax near 'UNION SELECT -1,'Tout le monde','
Jerome PAULIN
Le #21862461
heulman a écrit :
Bonjour,

Comme je ne suis pas très à l'aise avec les requetes sql dès qu'elles
deviennnent un peu complexes, je me tourne vers vous.
J'ai une requete sql qui passe parfaitement sous mysql 4.xx mais pas sous
3.xx. Et je n'arrive pas à résoudre le pb.




Bonjour

UNION n'est pas supporté en MySQL 3.xx
A priori, voici un moyen de contourner cette limitation (pas regardé
plus en details).
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeIdY1&lngWId=5

Cordialement,

gg
Patrick Texier
Le #21862451
Le Thu, 29 Mar 2007 15:09:00 +0200, heulman a écrit :

J'ai une requete sql qui passe parfaitement sous mysql 4.xx mais pas sous
3.xx. Et je n'arrive pas à résoudre le pb.



Si c'est résolu : UNION n'est disponible qu'en 4.
Publicité
Poster une réponse
Anonyme