sql select 来自 except 结果的列

sql select column from except result

我尝试从 except result 中获取列,但总是出现错误 "Incorect syntax near ')'",即使我将 Select * 放在第一个 select 中也是如此。我在 SQL Management Studio 工作。我的代码看起来像

select ColumnResult from (
            select col1 as ColumnResult, col2 as Column2Result, col3 as Column3Result
            from SourceTable 
            except
            select col1 as ColumnResult, col2 as Column2Result, col3 as Column3Result
            from SourceTable2)

你需要给子查询一个别名:

select ColumnResult from (
            select col1 as ColumnResult, col2 as Column2Result, col3 as Column3Result
            from SourceTable 
            except
            select col1 as ColumnResult, col2 as Column2Result, col3 as Column3Result
            from SourceTable2) AS Src

你会出错,因为每个 table 都有自己的别名,所以这样做

select A.ColumnResult from (
                select col1 as ColumnResult, col2 as Column2Result, col3 as Column3Result
                from SourceTable 
                except
                select col1 as ColumnResult, col2 as Column2Result, col3 as Column3Result
                from SourceTable2) as A