Sql 根据联合结果从第三个表中选择
我目前正在使用Sql 根据联合结果从第三个表中选择,sql,sql-server,Sql,Sql Server,我目前正在使用union操作符从两个表中选择材质: 查询 我现在要做的是使用检索到的材料从第三个表中获取描述,即: Select MaterialDescription from Description_Table DT Where DT.Material = UnionResult.Material 有什么好办法吗 Select UnionResult.Material, DT.MaterialDescription FROM Description_Table DT JOIN (
union
操作符从两个表中选择材质:
查询
我现在要做的是使用检索到的材料从第三个表中获取描述,即:
Select MaterialDescription
from Description_Table DT
Where DT.Material = UnionResult.Material
有什么好办法吗
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 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