有人可以帮我写一个循环遍历表的查询,并将结果输出到临时表中,如下所示:
lvl State Program Code
A WI 4045
B WI 4045
E WI 4045
F WI 4045
I WI 4045
M WI 4045
P WI 4045
R WI 4045
T WI 4045
输出
Program Code State A E M R T
4053 WI - X - - X
答案 0 :(得分:0)
您希望透视表格中的数据。您不需要遍历表格。 使用Case语句的简单Group by可以解决这个问题。如果您了解基本的t-sql,则下面的查询将帮助您入门。
SELECT
[Program Code],[State]
,[A] = MAX( CASE WHEN [lvl]='A' THEN 'X' else '' END)
,[B] = MAX( CASE WHEN [lvl]='B' THEN 'X' else '' END)
,[E] = MAX( CASE WHEN [lvl]='E' THEN 'X' else '' END)
FROM Table1
GROUP BY [Program Code],[State]