我需要帮助写 T SQL
I NEED HELP WRITING T SQL
谁能帮我写一个查询,循环遍历 table 并将结果输出到临时 table 中,如下所示:
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
您想 透视 您 Table 中的数据。您不需要循环遍历 table。
一个简单的 Group by with Case Statement 就可以做到这一点。如果您了解基本的 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]
这里是 SQLFiddle
谁能帮我写一个查询,循环遍历 table 并将结果输出到临时 table 中,如下所示:
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
您想 透视 您 Table 中的数据。您不需要循环遍历 table。 一个简单的 Group by with Case Statement 就可以做到这一点。如果您了解基本的 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]
这里是 SQLFiddle