选择单行到两行

时间:2013-08-22 05:26:55

标签: sql sql-server sql-server-2008 tsql sql-server-2005

ID     Type       Category      Description

20     Space      Board Type    Painted Bulletin Revenue
21     Space      Board Type    8-Sheet Billboard Revenue
22     Space      Board Type    Short Term Revenue

这是我拥有的表,因为描述可能很大我想在下面的格式上选择,它是用于填充网格并且可以在前端完成但是如果它在sql上它很好

ID                             Type       Category   

20                             Space      Board Type    
Painted Bulletin Revenue
21                             Space      Board Type    
8-Sheet Billboard Revenue
22                             Space      Board Type    
Short Term Revenue

1 个答案:

答案 0 :(得分:3)

试试这个

SELECT [ID], [Type], [Category] FROM
(
    SELECT 1 AS SNo,CONVERT(VARCHAR(1000),[ID]) AS ID , [Type], [Category],ROW_NUMBER() OVER(ORDER BY [ID]) rnk FROM Table1
    UNION ALL
    SELECT 2 AS SNo,[Description]  AS ID,'' AS [Type],'' AS [Category],ROW_NUMBER() OVER(ORDER BY [ID]) rnk FROM Table1
) t
ORDER BY rnk,SNo

SQL FIDDLE DEMO

<强>输出

ID                      Type    Category
20                      Space   Board Type
Painted Bulletin Revenue        
21                      Space   Board Type
8-Sheet Billboard Revenue       
22                      Space   Board Type
Short Term Revenue
相关问题