par
SwiTz » 31 juil. 2006, 10:45
Ton approche était plus correcte, mais au final il y avait des NOM_DDV à vide ce qui n'était pas bon pour la suite.
J'ai donc procédé de la manière suivante. J'ai créé une table tmp_dep qui contient le CA_CUM et CA_CUM1. Et j'ai éxécuté la requête suivante :
Code : Tout sélectionner
insert into tmp_dep
(
SELECT t1.NUM_DDV, t1.NOM_DDV, t1.DOM_VENTE, t1.CA_CUM, t2.CA_CUM1
FROM tmp_dep1 t1
LEFT OUTER JOIN tmp_dep2 t2
using (NOM_DDV,DOM_VENTE)
)
union
(
SELECT t2.NUM_DDV, t2.NOM_DDV, t2.DOM_VENTE, t1.CA_CUM, t2.CA_CUM1
FROM tmp_dep1 t1
RIGHT OUTER JOIN tmp_dep2 t2
using (NOM_DDV,DOM_VENTE)
)
Puis j'ai éxécuté la requête suivante :
Code : Tout sélectionner
insert into ca_departement
(
select t.NUM_DDV, t.NOM_DDV, t.DOM_VENTE, t.CA_CUM, t.CA_CUM1, t3.CA_AN
from tmp_dep t left outer join tmp_dep3 t3
using (NOM_DDV,DOM_VENTE)
)
union
(
select t3.NUM_DDV, t3.NOM_DDV, t3.DOM_VENTE, t.CA_CUM, t.CA_CUM1, t3.CA_AN
from tmp_dep t right outer join tmp_dep3 t3
using (NOM_DDV,DOM_VENTE)
)
Et le résultat final est celui escompté

Bon la manip est un peu fastidieuse mais elle a l'avantage de fonctionner.
En tout cas, je vous remercie tous pour votre aide.

Ton approche était plus correcte, mais au final il y avait des NOM_DDV à vide ce qui n'était pas bon pour la suite.
J'ai donc procédé de la manière suivante. J'ai créé une table tmp_dep qui contient le CA_CUM et CA_CUM1. Et j'ai éxécuté la requête suivante :
[code]
insert into tmp_dep
(
SELECT t1.NUM_DDV, t1.NOM_DDV, t1.DOM_VENTE, t1.CA_CUM, t2.CA_CUM1
FROM tmp_dep1 t1
LEFT OUTER JOIN tmp_dep2 t2
using (NOM_DDV,DOM_VENTE)
)
union
(
SELECT t2.NUM_DDV, t2.NOM_DDV, t2.DOM_VENTE, t1.CA_CUM, t2.CA_CUM1
FROM tmp_dep1 t1
RIGHT OUTER JOIN tmp_dep2 t2
using (NOM_DDV,DOM_VENTE)
)
[/code]
Puis j'ai éxécuté la requête suivante :
[code]
insert into ca_departement
(
select t.NUM_DDV, t.NOM_DDV, t.DOM_VENTE, t.CA_CUM, t.CA_CUM1, t3.CA_AN
from tmp_dep t left outer join tmp_dep3 t3
using (NOM_DDV,DOM_VENTE)
)
union
(
select t3.NUM_DDV, t3.NOM_DDV, t3.DOM_VENTE, t.CA_CUM, t.CA_CUM1, t3.CA_AN
from tmp_dep t right outer join tmp_dep3 t3
using (NOM_DDV,DOM_VENTE)
)
[/code]
Et le résultat final est celui escompté :) Bon la manip est un peu fastidieuse mais elle a l'avantage de fonctionner.
En tout cas, je vous remercie tous pour votre aide. :)