【问题标题】:How to skip a particular row and add at end of table?如何跳过特定行并在表格末尾添加?
【发布时间】:2013-09-10 15:52:50
【问题描述】:
CREATE PROCEDURE Dataloading
AS
BEGIN
    truncate table TABLE1

    insert TABLE1 (
        [Name],
        [Share]
    )
    select 
        [Name], 
        sum(Share)
    from TABLE2
    group by [Share]

END

输出:

texas     3000 
dallas    5000
ca        5000
sfo       7000
newyork   8000
G total  28000
alaska    4000
Total    24000

但是我需要最后进入阿拉斯加,并且beofre之前的一排必须是空的?

注意:我留空是因为我将此输出发送到 XL 表中,并且我正在使用一些计算。但我是手动做的,有没有用SP做的修改。

帮帮我!!!

【问题讨论】:

  • 为什么要使用 SQL 创建 Excel 输出?如果要向 Excel 输出添加计算,请在使用 @Royi 的答案后添加一个宏以插入空行
  • 我在数据报告工具中使用。工具读取所有行并输入到 XL 表中。

标签: sql-server tsql stored-procedures sql-server-2008-r2


【解决方案1】:

试试这个

 select 
        [Name], 
        sum(Share)
    from TABLE2
    group by [Share]

order by case when name= 'alaska' then 1 else 0 end

编辑

insert...

select [name],summ from (
 select 
        [Name], 
        cast (sum(Share) as nvarchar(100)) as summ
    from TABLE2
    group by [Share]

union all select '',''
) a 
  order by case  name when  '' then 2  
 when  'alaska' then 3    
else 1 end

【讨论】:

  • 没有我得到相同的输出。我需要在阿拉斯加之前留下一个空行
  • 哦,我以为你终于需要阿拉斯加了。
  • 它的工作非常棒,你拯救了我的一天。你能检查一下我发布的问题中的输出是否有机会在 SP 中进行更改,所以我不需要每次都在 EXCEL SHEET 中手动进行更改
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-11
  • 1970-01-01
  • 2019-06-07
  • 1970-01-01
  • 2012-03-16
  • 2017-03-21
  • 1970-01-01
相关资源
最近更新 更多