2010-06-25 3 views
0

Je reçois une erreur de syntaxe dans l'instruction suivante ... mais je souhaite l'utiliser en utilisant USING STATEMENT.Obtention d'une erreur de syntaxe

SELECT user_job.level1, user_job.tab_level, job.money_gain, job.exp_gain, job.energy_required, job.name, job_tem.no LEFT JOIN emploi UTILISATION (job_id) ET GAUCHE REJOIGNEZ UTILISATION job_item (job_id)

job_id est commun dans toutes les tables.

+3

peut vous diviser la requête sur plusieurs lignes, exécutez-le à nouveau et après l'erreur de syntaxe? – simendsjo

Répondre

2

tout d'abord vous êtes absent le FROM dans la déclaration, que mysql sait de quelle table vous choisissez. Je suppose que vous sélectionnez dans la table user_job car cette table est mentionnée en premier dans votre instruction select.

Ensuite, il ne doit pas y avoir de AND entre plusieurs jointures.

Vous êtes instruction SQL complète et correcte devrait ressembler à ceci:

SELECT 
    user_job.level1, 
    user_job.tab_level, 
    job.money_gain, 
    job.exp_gain, 
    job.energy_required, 
    job.name, 
    job_tem.no 
FROM user_job 
LEFT JOIN job USING(job_id) 
LEFT JOIN job_item USING(job_id) 
1

Il vous manque la clause FROM et, comme d'autres l'ont souligné, vous ne chaînez pas les jointures avec les AND.

+0

ce n'est pas une réponse, il devrait être commenter – jigfox

+0

Comment est-ce que ce n'est pas une réponse valide à cette question? – Maxem

+0

parce que c'est une question en soi, et cela ne résout pas son problème. – jigfox

1

Il vous manque certainement FROM. La requête pourrait ressembler à ceci.

SELECT user_job.level1, 
    user_job.tab_level, 
    job.money_gain, 
    job.exp_gain, 
    job.energy_required, 
    job.name, 
    job_tem.no 
FROM job 
    LEFT JOIN user_job USING(job_id) 
    LEFT JOIN job_item USING(job_id) 
+0

cela ne fonctionnera pas non plus, qu'en est-il de la table 'user_job'? – jigfox

+0

Vous avez raison. Merci. J'ai corrigé ça. –

+0

Même réponse que Daj pan Spokoj – Himadri