I'm currently selecting Material from two tables using a union
operator:
SELECT Material
FROM (
SELECT Material
FROM DP_Historical_Data
EXCEPT SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem
) HD
UNION SELECT Material
FROM (
SELECT Material
FROM DP_Historical_Data_Archive
EXCEPT SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem
) HDA
What I want to do now is use the retrieved Materials to get a description from a third table, ie:
Select MaterialDescription
from Description_Table DT
Where DT.Material = UnionResult.Material
Is there any tidy way to do this?
Select UnionResult.Material, DT.MaterialDescription
FROM Description_Table DT
JOIN
(
SELECT Material FROM
(
SELECT Material
FROM DP_Historical_Data
EXCEPT
SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem
) HD
UNION
SELECT Material
FROM
(
SELECT Material
FROM DP_Historical_Data_Archive
EXCEPT
SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem
) HDA
) UnionResult ON DT.Material = UnionResult.Material
SELECT DT.MaterialDescription
FROM Description_Table DT
INNER JOIN (
SELECT Material
FROM (
SELECT Material
FROM DP_Historical_Data
EXCEPT
SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem
) HD
UNION
SELECT Material
FROM (
SELECT Material
FROM DP_Historical_Data_Archive
EXCEPT
SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem
) HDA
) unires
WHERE DT.Material = unires.Material
CREATE VIEW UnionResult AS
(
SELECT Material FROM (SELECT Material FROM DP_Historical_Data EXCEPT SELECT Material
FROM SAS_GLOBE_Material_to_SASBaseItem) HD
UNION
SELECT Material FROM
(SELECT Material FROM DP_Historical_Data_Archive EXCEPT SELECT Material FROM
SAS_GLOBE_Material_to_SASBaseItem) HDA
)
Select MaterialDescription from Description_Table DT,UnionResult
Where DT.Material = UnionResult.Material
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.