[SQL ] M$SQL 2K 有辦法在一次語法中取出來??
小弟又來發問了,目前使用是 M$ SQL 2K DB
我的表格長這樣
table:A
pn item value
----------------------
A123 I01 100
A123 I02 500
A123 I03 200
B456 I01 50
B456 I03 20
... ... ...
小弟希望能夠取出來的結果像這樣
pn item_I01 item_I02 item_I03
--------------------------------------------------
A123 100 500 200
B456 50 NULL 20
原先我的 JAVA 程式作法是
1) 先取出所有不相同的 pn 結果集,也就是
SELECT distinct A.pn FROM A
2) 再分別對每個 pn 在到 table A 中取他的 I01,I02,I03 的值,
存到物件(JAVA程式)中
while (rs.next()) {
執行 SELECT A.value FROM A WHERE pn = ? AND item = 'I01'
執行 SELECT A.value FROM A WHERE pn = ? AND item = 'I02'
...
}
這樣對於我目前要做的 JAVA 程式來說效能幾乎差到不行
因為 table A 中有好幾萬筆資料,瓶頸在於上述的第2點
(因為要去跑 while-loop)
不知道各位先進們,有沒有可以在一條 SQL 中達到我要期望的結果??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.59.64.166
討論串 (同標題文章)