Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
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 25/07/2011, 21h13   #1
Membre habitué
 
Inscription : décembre 2008
Messages : 463
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 463
Points : 136
Points : 136
Par défaut Une requète SQL qui ne donne pas le résultat attendu

Bonjour,
J'ai une requête Sql qui me donne un résultat inattendu.
Code :
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
 
wssRequest = "SELECT "
        + "ES.nuIdElemn, "
        + "ES.nuIdTypeElement, "
        + "nuIdOccurence, "
        + "ES.wsText, "
        + "ES.vcName, "
        + "ES.siNbChunk, "
        + "EC.nuIdChunk, "
        + "C.nuIdChunkType, "
        + "C.siNbWord, "
        + "C.nuIdDrivingPos, "
        + "W.vcString, "
        + "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"
        + " ORDER BY"
        + " ES.vcName,"
        + " ES.nuIdOccurence DESC,"
        + " ES.nuIdElemn,"
        + " EC.siChkRank,"
        + " CW.siWordRank";
en fait je récupère les 65 éléments sémantiques alors que j'ai demandé le produit cartésien des words( les mots) des chunks( des syntagmes) et des proposition (les éléments sémantiques).
Il doit y avoir une erreur dans ma requête. je croyais avoir bien demandé une jointure et je ne l'ai pas obtenue.
Qui pourra me mettre sur la bonne voie
ce serait
JeanNoel53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 11h13   #2
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
ce serait bien de mettre la requête sous la forme SQL plutôt que celle-là, non ?


pour vérifier un problème dans la requête ...
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 14h39   #3
Membre habitué
 
Inscription : décembre 2008
Messages : 463
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 463
Points : 136
Points : 136
Par défaut Requète SQL conforme à SQL2

la requête ci dessus est écrite ne SQL2 comme me l'ont indiqué les précédents messages.
En fait l'échec de la requête provenait pour l'essentiel des valeurs contenues dans les tables. Deux tables étaient renseignées à null. d'où le résultat. Il faut que les tables intermédiaires soient renseigner de façon conséquentes pour que la requête donne un résultat conséquent.
JeanNoel53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 11h54   #4
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
donc il n'y a pas d'erreur ?

Je ne parlais de la syntaxe SQL, mais de la façon de l'écrire au travers du langage "d'interface"

Au lieu d’écrire :
Citation:
wssRequest = "SELECT "
+ "ES.nuIdElemn, "
+ "ES.nuIdTypeElement, "
.......
il vaut mieux l'écrire (au moins pour un soucis de lisibilité)
Code :
1
2
3
4
wssRequest = "SELECT 
      ES.nuIdElemn, 
      ES.nuIdTypeElement, 
      ....
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web