IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Firebird Discussion :

un requète SQL à faire marcher


Sujet :

Firebird

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut un requète SQL à faire marcher
    bonjour,
    J'ai une recherche SQL avec deux jointures sur les mêmes tables. je n'en connais pas la syntaxe et je tâtonne. L'interpréteur sql revoie toujours la même adresse d'erreur quel que soit la forme de la requête.
    il y a eu un changement dans le message d'erreur dès que j'ai eu rajouté le champs dans la liste des champs.
    je vous donne la requête en l'état

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    0 SELECT ES.nuIdElemn, ES.nuIdTypeElement, ES.nuIdOccurence, ES.wsText, ES.vcName, ES.nuidpar, ES.siNbChunk
    1 , ES.siIdD, EC.nuIdChunk, C.nuIdChunkType, C.siNbWord, C.nuIdDrivingPos, W.vcString, W.siIdPOS, L.cExclud
    2 ed, L.siIdPOS FROM T_ELEMENT_SEMANTIQUE ES LEFT JOIN T_ELEMENT_CHK EC ON ES.nuIdElemn = EC.nuIdElemn LEFT
    3  JOIN T_CHUNK C ON EC.nuIdChunk = C.nuIdChunk LEFT JOIN T_CHUNK_WORD CW ON C.nuIdChunk = CW.nuIdChunk LEF
    4 T JOIN T_WORD W ON CW.nuIdWord = W.nuIdWord LEFT JOIN T_LEMMA L ON W.nuIdLemma = L.nuIdLemma AND L ON W.s
    5 iIdPOS = L.siIdPOS WHERE ES.siIdD = 4 ORDER BY ES.nuIdOccurence DESC, ES.vcName, ES.nuIdElemn, EC.siChkRa
    6 nk, CW.siWordRank
    1        10         20        30         40         50        60        70                  90        100
    et je vous donne le status d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
    SQL error code = -204
    alias L conflicts with an alias in the same statement
    J'ai des proiblèmes avec cette requète du fait de l'ajourt d'un champ dans la base de donnée il s'agit du champ siIdPOS dans la Table TWord, et j'ai besoin de faire un jointure que naturellement je formulerai par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LEFT JOIN T_LEMMA L ON W.siIdPOS = L.siIdPOS"
    comment dois je formuler cette jointure?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 246
    Points : 535
    Points
    535
    Par défaut
    Bonsoir,

    Une présentation plus claire ça aide...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    SELECT ES.nuIdElemn
    	, ES.nuIdTypeElement
    	, ES.nuIdOccurence
    	, ES.wsText
    	, ES.vcName
    	, ES.nuidpar
    	, ES.siNbChunk
            , ES.siIdD
    	, EC.nuIdChunk
    	, C.nuIdChunkType
    	, C.siNbWord
    	, C.nuIdDrivingPos
    	, W.vcString
    	, W.siIdPOS
    	, L.cExcluded
    	, L.siIdPOS 
    FROM T_ELEMENT_SEMANTIQUE ES 
    	LEFT JOIN T_ELEMENT_CHK EC ON ES.nuIdElemn = EC.nuIdElemn 
    	LEFT JOIN T_CHUNK C ON EC.nuIdChunk = C.nuIdChunk 
    	LEFT JOIN T_CHUNK_WORD CW ON C.nuIdChunk = CW.nuIdChunk 
    	LEFT JOIN T_WORD W ON CW.nuIdWord = W.nuIdWord 
    	LEFT JOIN T_LEMMA L ON W.nuIdLemma = L.nuIdLemma AND W.siIdPOS = L.siIdPOS 
    WHERE ES.siIdD = 4 
    ORDER BY ES.nuIdOccurence DESC
    	, ES.vcName
    	, ES.nuIdElemn
    	, EC.siChkRank
    	, CW.siWordRank
    en supposant que vous voulez dire que la jointure de T_LEMMA avec T_WORD utilise 2 champs.

    André

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Merci
    C'est plus simple comme cela et ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/12/2007, 20h02
  2. [Requête/SQL]faire un regroupement et le remetre dans une table
    Par leomorel dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/04/2007, 19h31
  3. [Requête/SQL]Faire une mise à jour sur une sélection
    Par Xe2007 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/04/2007, 17h03
  4. Comment faire une requête SQL dans un datatable
    Par Passepoil dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/02/2007, 20h24
  5. Requête SQL complexe. Comment faire ....
    Par BilTCD dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/11/2004, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo