Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据联合结果从第三个表中选择_Sql_Sql Server - Fatal编程技术网

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