Bonjour
Dans une BDD Oracle j'ai deux tables :
Table 1 : COMP_HIS avec les colonnes nom_mat ;nom_tail
Table 2 : COMP_PRIX _STD avec les colonnes nom_mat ;nom_tail ; prix_ind ; date_eff
je veut récupérer les colonnes nom_mat ;nom_tail du premiere table avec le prix_ind de la deuxième table en utilisant un left join , le problème c'est que la table 2 contient plusieurs prix_ind selon la date_eff et parfois une même date_eff pour une seule matière . voila ma requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Select his.nom_mat,his.nom_tail ,pri.prix_ind From COMP_HIS his left join comp_prix_std pri on his.nom_mat=pri.nom_mat and nvl(his.nom_tail,'0')=nvl(pri.nom_tail,'0') Where ((select distinct max(date_eff) from comp_prix_std where nom_mat=his.nom_mat and nvl(nom_tail,'0')=nvl(his.nom_tail,'0')) = pri.date_eff)
le résultat donne des doublons si la date_eff d'une matière est en double.
Merci de m'aider a résoudre ce problème .
NB : la requête est beaucoup plus compliqué que ça mais j'ai présenter seulement les colonnes qui pose problèmes .
Partager