我需要帮助写 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