全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3202
推到 Plurk!
推到 Facebook!

sql的資料轉成橫向的

答題得分者是:careychen
littlecheng
一般會員


發表:9
回覆:6
積分:3
註冊:2008-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-25 11:43:51 IP:59.125.xxx.xxx 訂閱


要達成這樣的結果,請問要怎麼做呢?
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-25 14:00:25 IP:203.73.xxx.xxx 未訂閱
Hi ~~
給您個方向
**舉例如下
>select distinct DT1 from Tabx;
DT1
-------
080921
080930
091001

>CREATE TABLE NEWTab(
"T_NO" VARCHAR2(7), --商品代碼
"T_NA" VARCHAR2(32), --商品名稱
"080921" NUMBER(9),
"080930" NUMBER(9),
"081001" NUMBER(9)
);

>UPDATE NEWTab SET ....;

===================引 用 littlecheng 文 章===================

?
要達成這樣的結果,請問要怎麼做呢?
------
What do we live for if not to make life less difficult for each other?
littlecheng
一般會員


發表:9
回覆:6
積分:3
註冊:2008-07-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-25 15:33:52 IP:59.125.xxx.xxx 訂閱
我在問題中舉的例子是用三個日期,
但如果日期的COLUMN數不是三個,而是更多個、或由使用者輸入的不確定個數,
那又該如何。
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-25 15:55:22 IP:218.210.xxx.xxx 訂閱
hi,寫一個 Sample procedure 您試試


[code sql]
Create Procedure Sp_Query
@sDateList varchar(1000)
Begin
IF (SubString(@sDateList, Len(@sDateList), 1) <> ',') Set @sDateList=@sDateList ','
Declare @sSQL varchar(4000), @sTmpDate varchar(10)
Set @sSQL = 'Select 商品代碼, 商品名稱'
WHILE Len(@sDateList) > 0
BEGIN
Set @sTmpDate = Left(@sDateList, CharIndex(',', @sDateList)-1)
Set @sDateList = SubString(@sDateList, CharIndex(',', @sDateList) 1, Len(@sDateList))

Set @sSQL = @sSQL ', Sum(IsNull(case when 日期=''' @sTmpDate ''' then 數量 END, 0)) as [' @sTmpDate ']'
END
Set @sSQL = @sSQL ' from TableS Group by 商品代碼, 商品名稱'
Exec SP_ExecuteSQL @sSQL
END
[/code]


===================引 用 littlecheng 文 章===================
我在問題中舉的例子是用三個日期,
但如果日期的COLUMN數不是三個,而是更多個、或由使用者輸入的不確定個數,
那又該如何。
------
價值的展現,來自於你用哪一個角度來看待它!!
編輯記錄
careychen 重新編輯於 2008-09-25 15:57:30, 註解 無‧
littlecheng
一般會員


發表:9
回覆:6
積分:3
註冊:2008-07-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-09-25 17:49:08 IP:59.125.xxx.xxx 訂閱
多謝指導,在下受教了。
系統時間:2024-11-21 19:49:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!