首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的表中有多个列。我需要提取一些列,而不需要在查询中写入列名。

我的表中有多个列。我需要提取一些列,而不需要在查询中写入列名。
EN

Stack Overflow用户
提问于 2018-12-06 10:40:23
回答 1查看 67关注 0票数 0
代码语言:javascript
运行
复制
Select [PPID], [Demand Class_User Data 32] as Demand_Class, [Discipline1] as [Product Group Discipline],
                      [Net Sales Volume 2015-11], [Net Sales Volume 2015-12], [Net Sales Volume 2016-01], [Net Sales Volume 2016-02], [Net Sales Volume 2016-03],
                      [Net Sales Volume 2016-04], [Net Sales Volume 2016-05], [Net Sales Volume 2016-06], [Net Sales Volume 2016-07], [Net Sales Volume 2016-08],
                      [Net Sales Volume 2016-09], [Net Sales Volume 2016-10], [Net Sales Volume 2016-11], [Net Sales Volume 2016-12], [Net Sales Volume 2017-01],
                      [Net Sales Volume 2017-02], [Net Sales Volume 2017-03], [Net Sales Volume 2017-04], [Net Sales Volume 2017-05], [Net Sales Volume 2017-06],
                      [Net Sales Volume 2017-07], [Net Sales Volume 2017-08], [Net Sales Volume 2017-09], [Net Sales Volume 2017-10], [Net Sales Volume 2017-11],
                      [Net Sales Volume 2017-12], [Net Sales Volume 2018-01], [Net Sales Volume 2018-02], [Net Sales Volume 2018-03], [Net Sales Volume 2018-04],
                      [Net Sales Volume 2018-05], [Net Sales Volume 2018-06], [Net Sales Volume 2018-07], [Net Sales Volume 2018-08], [Net Sales Volume 2018-09],
                      [Net Sales Volume 2018-10],
                      [Net Sales Value 2015-11], [Net Sales Value 2015-12], [Net Sales Value 2016-01], [Net Sales Value 2016-02], [Net Sales Value 2016-03],
                      [Net Sales Value 2016-04], [Net Sales Value 2016-05], [Net Sales Value 2016-06], [Net Sales Value 2016-07], [Net Sales Value 2016-08],
                      [Net Sales Value 2016-09], [Net Sales Value 2016-10], [Net Sales Value 2016-11], [Net Sales Value 2016-12], [Net Sales Value 2017-01],
                      [Net Sales Value 2017-02], [Net Sales Value 2017-03], [Net Sales Value 2017-04], [Net Sales Value 2017-05], [Net Sales Value 2017-06],
                      [Net Sales Value 2017-07], [Net Sales Value 2017-08], [Net Sales Value 2017-09], [Net Sales Value 2017-10], [Net Sales Value 2017-11],
                      [Net Sales Value 2017-12], [Net Sales Value 2018-01], [Net Sales Value 2018-02], [Net Sales Value 2018-03], [Net Sales Value 2018-04],
                      [Net Sales Value 2018-05], [Net Sales Value 2018-06], [Net Sales Value 2018-07], [Net Sales Value 2018-08], [Net Sales Value 2018-09],
                      [Net Sales Value 2018-10]

               From [dbo].[Sheet1$] 

我需要调用所有的列名,从2018-08年的净销售额开始,而不用写它。我该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-06 11:39:26

生成动态SQL并执行生成的语句:

代码语言:javascript
运行
复制
-- Declarations
DECLARE 
    @stm nvarchar(max),
    @err int

-- Statement generation
SELECT @stm = (
    SELECT CONCAT(',[', [name], ']')
    FROM sys.columns
    WHERE 
        ([name] LIKE 'Net Sales Value%') AND
        (OBJECT_NAME([object_id]) = 'Sheet1$')
    FOR XML PATH('')
)
SELECT @stm = CONCAT(
    'Select [PPID], [Demand Class_User Data 32] as Demand_Class, [Discipline1] as [Product Group Discipline]',
    @stm,
    ' From [dbo].[Sheet1$] '
)

-- Execution
EXEC @err = sp_executesql @stm
IF @err = 0 
    PRINT 'OK'
ELSE 
    PRINT 'Error'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53649544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档