SQL中需要不寻常的输出格式
发布时间:2020-05-24 16:58:05 所属栏目:MsSql 来源:互联网
导读:我有一个格式的SQL表; Name Date ValueABC 1/21/2015 52ABC 1/22/2015 12ABC 1/23/2015 32DEF 1/21/2015 78DEF 1/22/2015 53etc... 为了与遗留程序兼容,我需要格式化文本文件,如下所示: ABC1/21/201
|
我有一个格式的SQL表; Name Date Value ABC 1/21/2015 52 ABC 1/22/2015 12 ABC 1/23/2015 32 DEF 1/21/2015 78 DEF 1/22/2015 53 etc... 为了与遗留程序兼容,我需要格式化文本文件,如下所示: ABC 1/21/2015,52 1/22/2015,12 1/23/2015,32 DEF 1/21/2015,78 1/22/2015,53 任何的意见都将会有帮助. 解决方法一种选择是使用UNION为结果集创建标题行,然后进行排序,使它们出现在每个Name组的顶部.您可以使用计算列来执行此操作,该列将这些生成的行标识为标题.SELECT CASE WHEN t.Header = 1
THEN t.Name
ELSE CONCAT(t.Date,',t.Value)
END
FROM
(
SELECT DISTINCT Name,NULL AS Date,NULL AS Value,1 AS Header
FROM yourTable
UNION ALL
SELECT Name,Date,Value,0 AS Header
FROM yourTable
) t
ORDER BY t.Name,t.Header DESC,t.Date (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
