【问题标题】:query results need break line查询结果需要换行
【发布时间】:2017-11-09 08:22:49
【问题描述】:

下面的sql代码第二列记录tkt_no没有换行,两个tkt_no之间还有一个空格,比如AAA111 AAA112,怎么在两个tkt_no之间加一个换行呢?请帮帮我,谢谢。

SELECT min(post_no) +'~'+ max(post_no) as post_no, min(tkt_no) + char(13)+char(10) + max(tkt_no) as tkt_no,  plic
FROM TEST  
WHERE date = '170711'
GROUP BY plic
ORDER BY post_no

这是上面的sql代码输出:

post_no     | tkt_no      | plic
11001~11010 | AA001 AA010 | N
11011~11099 | AB001 AB089 | N
12000~12001 | BA000 BA001 | C
12002~12099 | BB001 BA098 | C

但我需要在“结果到网格”中的查询输出,如下所示:

post_no     | tkt_no      | plic
11001~11010 | AA001       | N
              AA010
11011~11099 | AB001       | N
              AB089  
12000~12001 | BA000       | C
              BA001 
12002~12099 | BB001       | C
              BA098

请帮帮我,谢谢。

【问题讨论】:

  • 你在最大值之前是否缺少一个“+”
  • 在查询中的 char(13)+char(10) 后加一个“+”。
  • @YogeshSharma 还是不行。
  • @Nitesh 我加了,还是不行。
  • 您是否在 SQL Server Management Studio 中查看结果?如果是,则在“结果到文本”模式下查看结果。在“结果到网格”模式下,不会显示新行。

标签: sql sql-server tsql sql-server-2014


【解决方案1】:

假设您有dataset 如下:

post_no     | tkt_no      | plic
11001~11010 | AA001 AA010 | N
11011~11099 | AB001 AB089 | N
12000~12001 | BA000 BA001 | C
12002~12099 | BB001 BA098 | C

&您想以grid 样式显示您已经提到的,那么您可以使用xml node 方法,您可以使用网格样式拆分数据,如下所示

SELECT 
    case when row_number() over (partition by post_no order by (select 1)) > 1 then '' else post_no end post_no,
    a.value('.', 'VARCHAR(MAX)') [tkt_no],
    case when row_number() over (partition by post_no, plic order by (select 1)) > 1 then '' else plic end plic
    FROM 
(
    SELECT post_no, CAST('<A>'+REPLACE(tkt_no, ' ', '</A><A>')+'</A>' AS XML) AS  tkt_no, plic FROM <your data set>
) A CROSS APPLY tkt_no.nodes ('/A') as split(a)

结果:

post_no     tkt_no  plic
11001~11010 AA001   N
            AA010   
11011~11099 AB001   N
            AB089   
12000~12001 BA000   C
            BA001   
12002~12099 BB001   C
            BA098

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多