線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2776
推到 Plurk!
推到 Facebook!

暫存檔不存在

缺席
Sufa35
一般會員


發表:2
回覆:6
積分:1
註冊:2013-10-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-02-06 09:55:41 IP:59.125.xxx.xxx 訂閱
Query.SQL.Add ('Declare @aGroup nvarchar(MAX) ;
SELECT @aGroup = COALESCE(@aGroup '','' ,'''' ) QUOTENAME(YM)
FROM #T_1 GROUP BY QUOTENAME(YM)
order by QUOTENAME(Ym)
DECLARE @SQL NVARCHAR(MAX)
SET @SQL ='' SELECT KindP,'' @aGroup
'' into #T_2 FROM (select KindP=''a'',Col=1 FROM #T_1
union all
select KindP=''b'',Col=2 FROM #T_1
) GT
PIVOT
(Sum(col)

FOR YM IN ('' @aGroup '')) as PT ORDER BY KindP ''
Exec (@SQL) ')
Query.ExecSQL;
Query_M.SQL.Clear;
Query_M.SQL.add('Select * from #T_2');找不到檔案..這是為何呢
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-02-06 12:24:05 IP:210.61.xxx.xxx 未訂閱
可能是被SQL Server視為不同工作階段了
所以應該是被清~掉~了 吧 我覺得

technet.microsoft.com/zh-tw/library/ms174979.aspx

===================引 用 Sufa35 文 章===================
Query.SQL.Add ('Declare @aGroup nvarchar(MAX) ;
SELECT @aGroup = COALESCE(@aGroup '','' ,'''' ) QUOTENAME(YM)
FROM #T_1 GROUP BY QUOTENAME(YM)
order by QUOTENAME(Ym)
DECLARE @SQL NVARCHAR(MAX)
SET @SQL ='' SELECT KindP,'' @aGroup
'' into #T_2 FROM (select KindP=''a'',Col=1 FROM #T_1
union all
select KindP=''b'',Col=2 FROM #T_1
) GT
PIVOT
(Sum(col)

FOR YM IN ('' @aGroup '')) as PT ORDER BY KindP ''
Exec (@SQL) ')
Query.ExecSQL;
Query_M.SQL.Clear;
Query_M.SQL.add('Select * from #T_2');找不到檔案..這是為何呢
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-02-06 12:29:20 IP:210.61.xxx.xxx 未訂閱
可以試著放在同一Query看看...
Sufa35
一般會員


發表:2
回覆:6
積分:1
註冊:2013-10-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-02-06 14:22:14 IP:59.125.xxx.xxx 訂閱

謝謝你的回覆,

這個方法, 試過了 , ...也是一樣的結果

===================引 用 老大仔 文 章===================
可以試著放在同一Query看看...

-----
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-02-06 14:49:09 IP:59.120.xxx.xxx 訂閱
建議使用
1.Declare @myTable Table
2.在 Delphi 字串裡,再下 SS 的 SQL 字串,會很難 Debug
3.在一個 Query.Open 時一次做完

所以可以考慮換個寫法試試看

其實,是我看不懂這 SQL 想表達什麼,所以才想用簡單一點的做法處理,以上內容請參考看看。






===================引 用 Sufa35 文 章===================

謝謝你的回覆,

這個方法, 試過了 , ...也是一樣的結果

===================引 用 老大仔 文 章===================
可以試著放在同一Query看看...

-----
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2015-02-06 15:15:38 IP:210.61.xxx.xxx 未訂閱
該段SQL看起來應該原PO是想要依KindP這個欄位
將資料進行加總、並且橫置
有點類似↓
品名 01/01 01/02 01/03 01/04 01/05...
Data..


我個人覺得@@

===================引 用 GrandRURU 文 章===================
建議使用
1.Declare @myTable Table
2.在 Delphi 字串裡,再下 SS 的 SQL 字串,會很難 Debug
3.在一個 Query.Open 時一次做完

所以可以考慮換個寫法試試看

其實,是我看不懂這 SQL 想表達什麼,所以才想用簡單一點的做法處理,以上內容請參考看看。






===================引 用 Sufa35 文 章===================

謝謝你的回覆,

這個方法, 試過了 ,‚ ...也是一樣的結果

===================引 用 老大仔 文 章===================

可以試著放在同一Query看看...

-----
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2015-02-06 15:18:00 IP:210.61.xxx.xxx 未訂閱
請問您是用Query.ExecSQL?
還是Query.Open?
印象中
接在一起的話, 用OPEN應該就行了


===================引 用 Sufa35 文 章===================

謝謝你的回覆,

這個方法, 試過了 , ...也是一樣的結果

===================引 用 老大仔 文 章===================

可以試著放在同一Query看看...

-----
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2015-02-06 16:46:00 IP:36.229.xxx.xxx 訂閱
或者 心一橫:

into ##T_2

改全域的temp… 不過必要時要記得自己drop。


https://msdn.microsoft.com/en-us/library/ms191132.aspx

  • If you create a local temporary table inside a stored procedure, the temporary table exists only for the purposes of the stored procedure; it disappears when you exit the stored procedure.
  • If you execute a stored procedure that calls another stored procedure, the called stored procedure can access all objects created by the first stored procedure, including temporary tables.


    ps 不過,剛我仔細看你的程式,理當不算sp。所該應該同個 connection 可以看到的… 不了…
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2015-02-06 16:48:49, 註解 無‧
Sufa35
一般會員


發表:2
回覆:6
積分:1
註冊:2013-10-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2015-02-09 17:17:58 IP:59.125.xxx.xxx 訂閱
您好: 
全域變數, 也試過了. 也沒用
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#10 引用回覆 回覆 發表時間:2015-02-10 08:35:30 IP:59.120.xxx.xxx 訂閱
你的問題我完全無法重現

能不能做一個簡單、任何人都能重製的問題範例?

讓想幫忙的人有辦法幫忙,謝謝你。

===================引 用 Sufa35 文 章===================
您好:
全域變數, 也試過了. 也沒用
Sufa35
一般會員


發表:2
回覆:6
積分:1
註冊:2013-10-24

發送簡訊給我
#11 引用回覆 回覆 發表時間:2015-02-11 16:37:49 IP:59.125.xxx.xxx 訂閱

原來是資料的問題, .
感謝各位的幫忙囉....

系統時間:2017-12-12 10:18:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!