Obtenir les articles de deux années
Bonjour,
J'ai une table réception dans laquelle je dois récupérer tous les codes produit qui ont été acheté dans deux année différente.
Pour ce faire, j'utilise la requête suivante :
Code:
1 2 3 4 5 6
|
SELECT * FROM RECEPTION WHERE CODEPRODUIT IN(
SELECT A.CODEPRODUIT CODEPRODUIT FROM
(SELECT DISTINCT CODEPRODUIT FROM RECEPTION WHERE ANNEE='2008') A,
(SELECT DISTINCT CODEPRODUIT FROM RECEPTION WHERE ANNEE='2009') B
WHERE A.CODEPRODUIT=B.CODEPRODUIT) AND ANNEE IN('2008','2009') |
Cependant, le chargement des données est assez long, au point que je ne peux même pas obtenir toutes les données dans un délais convenable.
Je me suis donc orienté vers l'utilisation d'un INTERSECT mais je ne suis pas sur de moi:
Code:
1 2 3 4 5 6
|
SELECT * FROM RECEPTION WHERE CODEPRODUIT IN(
(SELECT CODEPRODUIT FROM RECEPTION WHERE ANNEE='2008')
INTERSECT
(SELECT CODEPRODUIT FROM RECEPTION WHERE ANNEE='2009'))
AND ANNEE IN('2008','2009') |
Cette requête est beaucoup plus rapide mais je ne sais pas si je récupère les mêmes données étant donné que je ne peux pas le comparer avec la première.
Si une personne a une solution pour cette problématique, merci d'avance à celui qui répondra à mon message.