可以的,用交叉方法 select a列, max(case when b列="a" then "a" else "" end) 列1, max(case when b列="b" then "b" else "" end) 列2, max(case when b列="c" then "c" else "" end) 列3 into temp_1219--插入臨時表 from a表 group by a列 這個是靜態的行列轉換, 如果是動態的行列裝換,也就是說你不知道表中a列的行數有很多,需要寫過程對sql語句進行拼接 然後根據你的需要再對欄位進行合併 select a列,列1+","+列2+","+列3 b列 into temp_1219_result--插入結果表 from temp_1219 ok!/*--最佳化update temp_1219 set 列2=","+列2where len(列2)>0update temp_1219 set 列3=","+列3where len(列3)>0select a列,列1+列2+列3 b列 into temp_1219_result2--插入結果表 from temp_1219 */
可以的,用交叉方法 select a列, max(case when b列="a" then "a" else "" end) 列1, max(case when b列="b" then "b" else "" end) 列2, max(case when b列="c" then "c" else "" end) 列3 into temp_1219--插入臨時表 from a表 group by a列 這個是靜態的行列轉換, 如果是動態的行列裝換,也就是說你不知道表中a列的行數有很多,需要寫過程對sql語句進行拼接 然後根據你的需要再對欄位進行合併 select a列,列1+","+列2+","+列3 b列 into temp_1219_result--插入結果表 from temp_1219 ok!/*--最佳化update temp_1219 set 列2=","+列2where len(列2)>0update temp_1219 set 列3=","+列3where len(列3)>0select a列,列1+列2+列3 b列 into temp_1219_result2--插入結果表 from temp_1219 */