【问题标题】:How can select all columns except some columns in SQL Server 2017?如何在 SQL Server 2017 中选择除某些列之外的所有列?
【发布时间】:2020-05-30 12:32:47
【问题描述】:

我有很多查询加入一个查询,这些查询与该列重复的一个 id 列连接。

select t1.* , t2.* , t3.* , ...
from (query1) as t1 , (query2) as t2 , (query3) as t3 , ...
where t1.id1 = t2.id2 and t1.id1 = t3.id3 and ...

查询有很多列,我想在每个查询中选择除某些列之外的所有列。

例如:

select 
    t1.(all columns except some columns), 
    t2.(all columns except some columns),
    t3.* , ...
from 
    (query1) as t1 , (query2) as t2 , (query3) as t3 , ...
where
     t1.id1 = t2.id2 and t1.id1 = t3.id3 and ...

如何选择除 sql 17 中的某些列之外的所有列? 谢谢你的建议。

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。另外,您为什么选择不使用正确、明确、标准、可读的JOIN 语法?

标签: sql sql-server-2017


【解决方案1】:

这只是一种解决方法-

-- In step 1 insert your query output to a temp table
SELECT *
INTO #Temp
FROM
(
   select t1.* , t2.* , t3.* , ...
   from (query1) as t1 , (query2) as t2 , (query3) as t3 , ...
   where t1.id1 = t2.id2 and t1.id1 = t3.id3 and ...
)

-- Then drop all columns from the temp table you wants to exclude 
-- from your final selection
ALTER TABLE #Temp
DROP COLUMN column_name1, column_name2

-- Finally, just select all records from temp table
SELECT * FROM #Temp

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 2015-10-18
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2019-01-17
    • 1970-01-01
    相关资源
    最近更新 更多