Re: [SQL ] 請問SQL語法

看板Database作者 (windknife18)時間17年前 (2009/02/02 19:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
感覺蠻好玩的就用 mysql 試玩了一下,欄位名稱稍微改成 a, b, c , 你應該可以很容易改成 ms sql 囉 mysql> select * from test2; +------+-------+------+ | a | b | c | +------+-------+------+ | A | itemA | 100 | | A | itemB | 200 | | A | itemC | 300 | | B | itemC | 400 | | B | itemD | 500 | +------+-------+------+ select ta.a, ta.b, ta.c, tb.b, tb.c, tc.b, tc.c from test2 ta left join test2 tb on (ta.a = tb.a and ta.b < tb.b) left join test2 tc on (ta.a = tc.a and ta.b < tc.b and tb.b < tc.b) group by ta.a; +------+-------+------+-------+------+-------+------+ | a | b | c | b | c | b | c | +------+-------+------+-------+------+-------+------+ | A | itemA | 100 | itemB | 200 | itemC | 300 | | B | itemC | 400 | itemD | 500 | NULL | NULL | +------+-------+------+-------+------+-------+------+ ※ 引述《ctMei (mei)》之銘言: : 我用的環境是sql server 2005 : 這是我在實作上遇到的問題 : 我想寫個預存程式 : 已有table: : 店名 商品 價格 : ------------------------ : A itemA 100 : A itemB 200 : A itemC 300 : B itemC 400 : B itemD 500 : 想轉成: : 店名 商品1 價格1 商品2 價格2 商品3 價格3 : --------------------------------------------------------- : A itemA 100 itemB 200 itemC 300 : B itemC 400 itemD 500 : 目前想到的方法是新增temp table,再用while一筆筆新增 : 但缺點是速度過慢,不實用 : 想請問板上高手,是否有其他更快速的方法能解決此問題 : 在此先感謝各位的幫忙了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.85.166
文章代碼(AID): #19XjXgy0 (Database)
文章代碼(AID): #19XjXgy0 (Database)