|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 | ||
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 255 ![]() |
essayer :
Code :
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
||
|
00
|
|
|
#22 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
Heu, finalement, qu'est-ce que je dois faire ?
A exit B quit C commit quit D commit exit E Adieu camarade la bonne réponse est ? Lépatantpato |
|
|
00
|
|
|
#23 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
A P.Makowski
Avec ton code, ma requête passe de 8 secondes à... 0 seconde ! Merci; c'est vraiment top. Cdt LépatantPato |
|
|
00
|
|
|
#24 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
Bonjour à tous
et en particulier à P. Makowski Je nage en plein mystère.... Ton code qui , hier, corrigeait le mien était parfait, et me convenait très bien. Mais aujourd'hui je rencontre avec le même code un problème que je ne comprends pas: L'erreur rencontrée est : Token unknown à la ligne 11, JOIN. Je ne comprends pas l'erreur, d'autant plus que cela fonctionnait hier... Voyez-vous où se situe le problème ? (j'ai utilisé Flamerobin et isql). Merci Lépatantpato |
|
|
00
|
|
|
#25 |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 205 ![]() |
Ligne 10 du code il manque la condition de jointure entre ETAT et PFOURNISSEUR . cela m'avait échappé déjà dans ma proposition de refonte avec des JOIN
Code ligne 10 :
FROM ETAT JOIN PFOURNISSEUR ON ETAT.FOURNISSEUR_ID= FOURNISSEUR.FOURNISSEUR_ID
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
|
|
00
|
|
|
#26 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
Merci SergioMaster!
mais j'ai un message d'erreur sur la ligne 10 Fournisseur.Fournisseur_ID : column unknown (et non token unknown, pour une fois). Or, bien entendu, cette colonne existe. Je suppose que l'erreur vient de plus bas, mais je ne vois toujours pas. Aucune référence au fichier Fournisseur n'est faite, d'ailleurs. La ligne 13 ressemble à la 10, mais bon, je suis perdu. Cdt LépatantPato |
|
|
00
|
|
|
#27 | ||||
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 205 ![]() |
La relation doit se faire sur la table PFOURNISSEUR et non FOURNISSEUR Maintenant quelle est cette relation entre les 2 ? y en a t'il une , pas facile de le déduire de ton sql de départ . En relisant attentivement ,je m’aperçois que c'est mon premier Copier/Coller qui a du a un moment (j'ai pour habitude de mettre une ligne par jointure , la jointure étant en début de ligne) Code ton SQL :
avec l'amélioration de makowski (grand merci pour la leçon Quit vs Exit) cela donnerai Code :
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
||||
|
|
00
|
|
|
#28 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
Bonjour
J’ai apporté le correctif. Je n’ai plus de message d'erreur ! mais par contre aucun résultat. J’explique ici le but poursuivi, en essayant d’être clair, mais j’ai conscience de ne pas l’être tant que ça… En tout cas, merci de m’aider. Cdt. Lépatantpato En fait, dans mon code de départ : Mon but est d’extraire de ETAT tout NUMERO qui n’est pas dans FIN. 18 WHERE ETAT.NUMERO NOT IN (SELECT FIN.NUMERO FROM FIN) Puis en ligne 19 j’ai le numéro du produit correspondant (dont je veux le nom, PRODUIT.DESIGNATION) 19 AND ETAT.PRODUIT_ID=PRODUIT.PRODUIT_ID Ensuite, la ligne 20 me donne 20 AND SORTIE.NUMERO=ETAT.NUMERO Le lien avec le fichier SORTIE me donne SORTIE.DATE et SORTIE.DLU La ligne 21 21 AND PFOURNISSEUR.PRODUIT_ID=PRODUIT.PRODUIT_ID Donne le lien avec PFOURNISSEUR qui va permettre le critère utilisé en 23 la ligne 22 Donne le FOURNISSEUR dont je désire le nom, FOURNISSEUR. Et la ligne 23 AND PFOURNISSEUR.CODE IN ('125500','789120','997788','123789'); Permet de chercher les valeurs désirées. |
|
|
00
|
|
|
#29 | ||
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 255 ![]() |
Pardon j'avais mal lu et donc fait une grossière erreur
c'est plutot quelque chose du genre de ce qui suit, ma première ne pouvait que ne rien renvoyer, sauf s'il y avait des valeurs null dans ETAT.NUMERO, ce qui n'était pas ce qui était recherché Code :
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
||
|
00
|
|
|
#30 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
à Philippe Makowski et SergioMaster et Barbibulle
Merci. Tout marche ok et en plus, je crois avoir compris ! cdt LépatantPato |
|
|
00
|
|
|
#31 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 255 ![]() |
non un backup avec gbak sans l'option -g parcours tous les enregistrements et déclenche donc un garbage collect, qui n'est pas exactement la même chose qu'un sweep un sweep fait un peu plus que seulement le garbage collect
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#32 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
Bonjour à tous
2 choses: - 1 j'avais indiqué que la vitesse d'accès à ma base était très rapide, mais en fait je m'étais trompé - 2 ma requête modifiée par PM fonctionne très bien, mais la durée de traitement, par rapport à la mienne, reste la même. Je suppose qu'il n'y a pas moyen de l'optimiser. Cdt Lépatantpato |
|
|
00
|
|
|
#33 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 255 ![]() |
Citation:
mais cherchez ce qui n'existe pas est toujours pénible pour optimiser, il faudrait voir le plan d'abord et la structure des tables et des index c'est quoi la clé primaire de ETAT ? ça veut dire quoi ça ?
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
|
|
#34 | |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 4 205 ![]() |
Citation:
ça m'apprendra a être simpliste pour continuer dans cette voie peut m'expliquer pourquoi il vaut mieux faire un Commit plutôt qu'un rollback après un Select ? bien qu'ayant une idée de la chose , j'aimerais confirmation
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous |
|
|
|
00
|
|
|
#35 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 255 ![]() |
pour ça le mieux est d'aller lire Pierre (http://www.ibphoenix.com/resources/d...search/doc_369)
mais en vite fait, un commit coûte moins de ressources qu'un rollback
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#36 |
|
Membre à l'essai
![]() Développeur informatique Inscription : février 2012 Messages : 78 ![]() |
Bonsoir tout le monde
Pour répondre à PM : - Je ne crois pas qu'il y ait une clé primaire cdt Lépatantpato |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com