Voila , j'ai besoin de faire une union entre deux tables
une table Stocks Matieres

Citation Envoyé par simplifié
STOCKMP
MATIERE CHAR(5)
COLORIS CHAR(3)
POINTURE CHAR(3)
contenu
'1114',000','0'
'1114,'001','0'
'1114','005','0'
etc..

et Besoins Matieres
Citation Envoyé par simplifié
BESOINS
MATIERE CHAR(5)
COLORIS CHAR(3)
POINTURE CHAR(3)
contenu
'1114','003','0'
'1114','005','0'
etc..

Sachant que j'ai des Besoins qui ne sont peut être pas encore en stock
j'ai besoin d'avoir les différent coloris pour une matière (i.e. la 1114)
voilà mon expression

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT DISTINCT S.MATIERE,S.COLORIS FROM STOCKMP S
WHERE S.MATIERE='1114'
UNION
SELECT DISTINCT B.MATIERE,B.COLORIS FROM BESOINS B
WHERE B.MATIERE='1114'
 
ORDER BY 1,2
j'obtiens bien
'1114','000'
'1114','001'
'1114','003'
'1114','005'

ce qui est parfait , mais je croyais obtenir
'1114','000'
'1114','001'
'1114','003'
'1114','005'
'1114','005' << rappel de celle-ci puisque dans les 2 tables

Normal ? si oui quelle est l'explication logique , ca a certainement a voir avec le DISTINCT mais
est-ce le bon SQL ?