Re: [SQL ] 請問SQL語法
感覺蠻好玩的就用 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):