【发布时间】:2013-07-11 06:11:43
【问题描述】:
我想创建一个 SQL 查询,并格式化该查询的输出。
我的桌子是这样的:
Time Amount Id iMId
---------------------------------
1 2500 1 4
3 5000 1 4
5 10000 1 4
7 20000 1 4
1 2500 2 8
3 5000 2 8
5 10000 2 8
7 20000 2 8
我想要以下格式的输出:-
Id iMId Time1 Time2 Time3 Time4
----------------------------------
1 4 1 3 5 7
2500 5000 10000 20000
2 8 1 3 5 7
2500 5000 10000 20000
我试过了:
SELECT sProfileId,iMerchantId,'Day1','Day2','Day3','Day4',dAmount
FROM (SELECT RM.sProfileId,RM.iMerchantId,RC.iDays,RC.dAmount
FROM tblRuleByMerchant RM
JOIN tblAlertRuleCummulativeData RC ON (RM.sProfileId=RC.sProfileId) ) AS d
PIVOT (max(RM.sProfileId) FOR RM.iMerchantId IN ('Day1','Day2','Day3','Day4')) piv
【问题讨论】:
-
我假设你的意思是你想格式化输出..而不是查询。查询格式不会改变它的运行方式。
-
另外,为了让您的问题得到回答,您必须向我们展示您在编写查询(找到解决方案)方面所做的努力,否则您的问题将很有可能被否决和关闭。
-
请展示你做了什么。至少 2 或 3 行将有助于我们的起点
-
我要查询。我试过 select sProfileId,iMerchantId,'Day1','Day2','Day3','Day4',dAmount from ( SELECT RM.sProfileId,RM.iMerchantId,RC.iDays,RC.dAmount FROM tblRuleByMerchant RM JOIN tblAlertRuleCummulativeData RC ON ( RM.sProfileId=RC.sProfileId) ) 作为 d pivot ( max(RM.sProfileId) for RM.iMerchantId in ('Day1','Day2','Day3','Day4') ) piv;
标签: sql sql-server