|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Problème de double jointure |
Débuté par guest, 19 jan. 2006 13:09 - 4 réponses |
| |
| | | |
|
| |
Posté le 19 janvier 2006 - 13:09 |
Bonjour, je souhaite faire apparaitre dans une table la référence d'un produit possèdant --> soit des pièces en stock et aucune pièces a rentrer --> soit des pièces a rentrer mais auune en stock --> soit des pièces en stock et des pièces a rentrer
Pour le moment, j'utilise 2 requetes distinctes Celle ci donne les références possèdant des pièces en stock:
select Ref.refref, Pieces.piepie, Pieces.piemta from Pieces join Ref on Pieces.pieref = Ref.refref where Ref.refref between {param1} and {param2};
et celle-la donne les références possèdant des pièces a rentrer:
select Ref.refref, Achaart.artes, Achaart.artpie, Achaart.artqtf from Achaart join Ref on Ref.refref = Achaart.artref where Ref.refref between {param1} and {param2}
Mon problème est l'indexation des lignes dans la table parce que les requetes sont distinctes. Je voudrais réunir les 2 requetes (en fesant une double jointure) mais l'éditeur de requete ne comprend pas. Je dois aussi trouver un moyen rapide car aujourd'hui le traitement pour remplir la table (environ 15000 lignes) met plus ou moins 6 minutes.
Comment je peux faire ??
Merci d'avance et bon dev a tous... |
| |
| |
| | | |
|
| | |
| |
Posté le 19 janvier 2006 - 13:59 |
sur quelle base de données ?
Dans son message précédent, Fabien a écrit :
Bonjour, je souhaite faire apparaitre dans une table la référence d'un produit possèdant --> soit des pièces en stock et aucune pièces a rentrer --> soit des pièces a rentrer mais auune en stock --> soit des pièces en stock et des pièces a rentrer
Pour le moment, j'utilise 2 requetes distinctes Celle ci donne les références possèdant des pièces en stock:
select Ref.refref, Pieces.piepie, Pieces.piemta from Pieces join Ref on Pieces.pieref = Ref.refref where Ref.refref between {param1} and {param2};
et celle-la donne les références possèdant des pièces a rentrer:
select Ref.refref, Achaart.artes, Achaart.artpie, Achaart.artqtf from Achaart join Ref on Ref.refref = Achaart.artref where Ref.refref between {param1} and {param2}
Mon problème est l'indexation des lignes dans la table parce que les requetes sont distinctes. Je voudrais réunir les 2 requetes (en fesant une double jointure) mais l'éditeur de requete ne comprend pas. Je dois aussi trouver un moyen rapide car aujourd'hui le traitement pour remplir la table (environ 15000 lignes) met plus ou moins 6 minutes.
Comment je peux faire ??
Merci d'avance et bon dev a tous...
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. " |
| |
| |
| | | |
|
| | |
| |
Posté le 19 janvier 2006 - 14:18 |
"Table": tu veux dire un champs table ou un fichier de données si tu parle d'un champ table, je ne comprends pas bien "indexation" |
| |
| |
| | | |
|
| | |
| |
Posté le 19 janvier 2006 - 14:33 |
bonjour
essayez ceci (pas tester) select Ref.refref, Pieces.piepie, Pieces.piemta from Pieces join Ref on Pieces.pieref = Ref.refref Achaart join Ref on Ref.refref = Achaart.artref where Ref.refref between {param1} and {param2} cordialement JeAn-PhI
"Fabien" <guest@newsgroup.fr> a écrit dans le message de news: 43cf7093$1@news.pcsoft.fr...
Bonjour, je souhaite faire apparaitre dans une table la référence d'un produit possèdant --> soit des pièces en stock et aucune pièces a rentrer --> soit des pièces a rentrer mais auune en stock --> soit des pièces en stock et des pièces a rentrer
Pour le moment, j'utilise 2 requetes distinctes Celle ci donne les références possèdant des pièces en stock:
select Ref.refref, Pieces.piepie, Pieces.piemta from Pieces join Ref on Pieces.pieref = Ref.refref where Ref.refref between {param1} and {param2};
et celle-la donne les références possèdant des pièces a rentrer:
select Ref.refref, Achaart.artes, Achaart.artpie, Achaart.artqtf from Achaart join Ref on Ref.refref = Achaart.artref where Ref.refref between {param1} and {param2}
Mon problème est l'indexation des lignes dans la table parce que les requetes sont distinctes. Je voudrais réunir les 2 requetes (en fesant une double jointure) mais l'éditeur de requete ne comprend pas. Je dois aussi trouver un moyen rapide car aujourd'hui le traitement pour remplir la table (environ 15000 lignes) met plus ou moins 6 minutes.
Comment je peux faire ??
Merci d'avance et bon dev a tous...
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 janvier 2006 - 15:33 |
Le projet est tellement précis que j'ai du mal à expliquer mon problème
Exemple: (1) la première requete me donne ceci en résultat:
Reference Pieces Longueur 100 1 10m 105 2 15m 110 1 10m 110 2 15m
(2) la deuxième requete me donne ceci en résultat:
Reference Date Pieces Longueur 100 20/01/2006 3 10m 101 25/01/2006 4 20m 110 22/01/2006 5 15m
(3) Le Résutltat souhaité dans un champ table (qui permet de faire un etat par la suite) //quand la même reference reveint sur la ligne suivante, on ne l'inscrit pas
Reference Pièces Longueur Date Pièces Longueur 100 1 10m 20/01/2006 3 10m 101 25/01/2006 4 20m 105 2 15m 110 1 10m 22/01/2006 5 15m 2 15m
Si j'ajoute les lignes directement, la reference 105 aura ses pièces en stock, mais les pièces a rentrer de la référence 101...Voila ce que j'appelle "problème d'indexation"
Je voudrais un requete qui contruit directement le résultat souhaité (3)
J'espèreque j'ai été assez clair, car après avoir consulté les forum et l'aide en ligne je ne trouve pas de solution. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|