Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/12/2011, 12h08   #1
Invité de passage
 
Homme
Développeur informatique
Inscription : décembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut Syntax inner join

Bonjour, je travaille sur le cms ushahidi et jai une erreur sql lorsque jessaye dacceder a une section du dit cms. je pense que ca a voir avec le prefixage des tables ou la syntaxe d'un INNER JOIN mais dans tout les cas voici le message que je recois

Citation:
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:
Code :
 'ic ON (ic.category_id = c.id) INNER JOIN sama_ incident i ON (ic.incident_id = i' at line 1 - SELECT c.id, COUNT(DISTINCT ic.incident_id) AS report_count FROM sama_category c INNER JOIN sama_ incident_category ic ON (ic.category_id = c.id) INNER JOIN sama_ incident i ON (ic.incident_id = i.id) WHERE c.category_visible = 1 AND i.incident_active = 1 AND c.parent_id = 0 GROUP BY c.id
Si quelqu'un aurait une idee d'une erreur de syntaxe dans cette requete ? merci d'avance.
_ldb_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 13h02   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
bonjour,

la seule chose que je vois c'est qu'il y a un espace entre sama_ et le nom de vos table.

Si sama_ est le schema / user, alors il faudrai plutôt écrire la requete avec sama_.ma_table
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 13h27   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Comme dans beaucoup de CMS, "sama_" est ici le préfixage du nom des tables de la BDD.
On le voit d'ailleurs dans la requête :
Et ensuite on voit effectivement que d'autres tables sont mal préfixées et qu'un espace s'est glissé entre le préfixe et le nom de la table :
Code :
INNER JOIN sama_ incident_category ic
L'erreur signalée étant près de "ic", c'est donc bien cette erreur de mauvais préfixage.

Si c'est vous qui avez créé cette requête, corrigez là, sinon c'est un bug du logiciel qui a mal formé la requête.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 19h07   #4
Invité de passage
 
Homme
Développeur informatique
Inscription : décembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2011
Messages : 2
Points : 1
Points : 1
Par défaut C'etait une erreur interne du CMS

Slt a Tous et merci, j'ai en effet pu régler ce PB, c’était bel et bien lier au traitement des préfixes de table il y a avait dans un des fichier php de config une erreur au niveau de la concaténation, deux espaces qui se sont glisses a deux niveaux. Je les ai supprimes et par la meme occasion signaler ce ''bug'' afin qu'il soit corriger dans la prochaine release. merci bien
_ldb_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h55.


 
 
 
 
Partenaires

Hébergement Web