|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 33 ![]() |
je programme en delphi et Interbase
j'ai besoin de conseil et d'une requete sql exple table1 ( 50000 ligne enreg) ___________________________________ CODE ARTICLE CUMUL DISPO __________________________________ TY1 AAAA 10 2 DR8 AABB 20 5 GH3 VVCC 25 10 SQ7 DDEE 25 10 HH8 EEAA 40 38 __________________________________ TABLE 2 ( 50000 a 20000 lignes enreg) __________________________________ CODE ARTICLE CONSOM __________________________________ TY1 AAAA 8 DR8 AABB 10 GH3 VVCC 5 SQ7 DDEE 15 SQ7 DDEE -4 __________________________________ TABLE 3 ( 50000 a 20000 lignes enreg) __________________________________ CODE ARTICLE CONSOM __________________________________ HH8 EEAA 2 DR8 AABB 10 GH3 VVCC 5 GH3 VVCC -5 __________________________________ je cherche à réaliser une sortie comme ceci es ce que je dois créer une table vue avec un jointure ou une 4eme table phisique remarque j'ai n'ai pas eu idée comment construire une jointure de la sorte table 4 _________________________________________________________ CODE ARTICLE CUMUL DISPO CONSOM ecart _________________________________________________________ TY1 AAAA 10 2 8 0 normal DR8 AABB 20 5 20 +5 anormal GH3 VVCC 25 10 5 5 normal SQ7 DDEE 25 10 11 -4 anormal HH8 EEAA 40 40 0 0 normal _________________________________________________________ merci à tous Ada_b |
|
|
00
|
|
|
#2 | ||||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Vous avez beaucoup de redondance d'information, ce qui est un peu incompatible avec la normalisation des données et l'utilisation d'un SGBD. Ou le principe général justement d'éviter la duplication d'une même information (sauf probleme technique).
Table 2 et table 3 sont identiques pourquoi n'avoir pas qu'une seule table ? Mis à part cette remarque, pour ce qui est de votre probleme la solution dépend de votre SGBD Si vous utilisez Interbase 6 ou inf il vous faudra passer par une PS ou avoir un résultat un peu différent et le traiter par le client. Code :
Par contre si vous travaillez avec Firebird 1.5 (ou peut etre interbase 7.1 ? je n'ai pas vérifié si la fonction existe) Vous pouvez utiliser la fonction SQL COALESCE. Code :
Code :
|
||||||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 33 ![]() |
Merci Barbibulle
Barbibulle à écrit: Vous avez beaucoup de redondance d'information ======================================= réponse c'est très normal un article peut sortir(apparaitre) sur plusieur lignes et sur les 2 tables , jusq'au épuisement __________________________________________ Barbibulle à écrit: Table 2 et table 3 sont identiques pourquoi n'avoir pas qu'une seule table ? ============================================ réponse pas possible , les comptes de l'entreprise se retrouve très bien avec 2 tables une pour le Local et une autre pour les autres régions ____________________________________________ Je travail pour le moment avec Interbase , mais on ne sais jamais je peux changer suivant le demande ou les contradictions moralité je veux garder toujours une programmation standard Merci encore pour les req de jointure sql Salut à Bientôt |
|
|
00
|
|
|
#4 | |||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
En modélisation merise c'est le résultat que vous aurriez du optenir. Code :
Code :
De plus l'ajout de la gestion d'une autre région serait simple alors que dans votre solution vous seriez probablement obligé de créer une nouvelle table. |
|||||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 33 ![]() |
Merci bien barbibulle
d'abord exusez moi pour le retard c'est difficile pour moi pour de resté plus de 10 mn connecté réponse : oui c'est vrai j'ai déja proposer ça mais il ya des choses ;qui ne dependent pas de moi et je ne peux pas dire plus que ça ,ça serait violé le secret prof je vais stucturé une table auxiliaire à partir du client pour ne pas pénaliser le serveur je vais pomper les infos des 3 tables et les mettres dans celle-ci j'espère que ça marchera . merci comme meme pour vos conseils , il me seront bien utiles pour l'application de comptabilité que je vais commencer à partir janvier 05 merci bien Ada_B |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Essayer plutot de créer une vue basé sur cette requete ca devrait être un peu plus performant que de l'exécuter depuis un client. |
|
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 33 ![]() |
créer une vue basé sur cette requete
merci je crois que c'est sa la solution |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 33 ![]() |
merci je crois que c'est ça la solution
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com