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

為何用子查詢就不能在query的where條件下Parameters???

答題得分者是:yabula
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-10 15:17:08 IP:61.220.xxx.xxx 未訂閱
各位前輩小弟再請教一個問題 小弟用子查詢後,若在此sql敘述中的where 條件下parameters,結果會產生 MSVCRT.dll的錯誤 select item_no,M_item_na=(SELECT T_item_na FROM TItem WHERE item_no=TMaster.item_no) from TMaster where item_no:=pitem 請問錯在哪??
------
ivankuo
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-10 15:35:05 IP:211.21.xxx.xxx 未訂閱
應改為: select item_no,M_item_na=(SELECT T_item_na M_item_na FROM TItem WHERE item_no=TMaster.item_no) from TMaster where item_no = :pitem
------
~小弟淺見,參考看看~
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-10 15:43:24 IP:61.220.xxx.xxx 未訂閱
引言: 應改為: select item_no,M_item_na=(SELECT T_item_na M_item_na FROM TItem WHERE item_no=TMaster.item_no) from TMaster where item_no = :pitem
不好意思WHERE條件的冒號打錯位置,不過將M_item_na也放進子查詢的會也會有問題
------
ivankuo
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-10 15:52:56 IP:147.8.xxx.xxx 未訂閱
select A.item_no, B.T_item_na as M_item_na from TMaster A, TItem B where (B.T_item_na = A.item_no) and (A.item_no=:pitem)
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-02-10 15:59:17 IP:61.220.xxx.xxx 未訂閱
引言: select A.item_no, B.T_item_na as M_item_na from TMaster A, TItem B where (B.T_item_na = A.item_no) and (A.item_no=:pitem)
不好意思~~~小弟想知道的答案是用子查詢的方式,因為受到某種限制不得不用子查詢,此方式必須用再也可做增修刪的方式。順便問另一個問題,能用多個table join起來後,針對主要table做增修刪ㄇ??
------
ivankuo
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-02-10 16:13:40 IP:147.8.xxx.xxx 未訂閱
引言:不好意思~~~小弟想知道的答案是用子查詢的方式,因為受到某種限制不得不用子查詢,此方式必須用再也可做增修刪的方式。順便問另一個問題,能用多個table join起來後,針對主要table做增修刪ㄇ??
Subquery? I will write it as: select item_no, (SELECT T_item_na FROM TItem WHERE item_no=TMaster.item_no) as M_item_na from TMaster where item_no=:pitem For table joining, I think you can edit the joined dataset provided Delphi know how to resolve it
yabula
初階會員


發表:47
回覆:117
積分:42
註冊:2002-10-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-02-10 16:28:28 IP:61.220.xxx.xxx 未訂閱
你把parameters加上括號吧試試看吧 select item_no,M_item_na=(SELECT T_item_na FROM TItem WHERE item_no=TMaster.item_no) from TMaster where (item_no =:pitem) 發表人 - yabula 於 2003/02/10 16:31:05
ivankuo
中階會員


發表:132
回覆:272
積分:95
註冊:2002-11-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-02-10 16:45:34 IP:61.220.xxx.xxx 未訂閱
引言: 你把parameters加上括號吧試試看吧 select item_no,M_item_na=(SELECT T_item_na FROM TItem WHERE item_no=TMaster.item_no) from TMaster where (item_no =:pitem) 不會吧```加不加還有關西喔``` 可以了```感謝```` 發表人 - yabula 於 2003/02/10 16:31:05
------
ivankuo
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-02-10 16:51:34 IP:61.221.xxx.xxx 未訂閱
ivankuo你好:  
引言: 不好意思~~~小弟想知道的答案是用子查詢的方式,因為受到某種限制不得不用子查詢,此方式必須用再也可做增修刪的方式。順便問另一個問題,能用多個table join起來後,針對主要table做增修刪ㄇ??
其實要看資料庫而定有些是有支援的!! 不過貴的要命!!! 所謂有支援是指sql語法可以做到你所想的功能!!!
------
======================
昏睡~
不昏睡~
不由昏睡~
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-02-11 11:49:36 IP:211.72.xxx.xxx 未訂閱
引言: 不好意思~~~小弟想知道的答案是用子查詢的方式,因為受到某種限制不得不用子查詢,此方式必須用再也可做增修刪的方式。順便問另一個問題,能用多個table join起來後,針對主要table做增修刪ㄇ??
可以的, 你可以利用 TQuery 及 TUpdateSQL vcl 來進行, 在 TUpdateSQL 中你可以自行維護你自己的 update / insert / delete 的 sql command, 可以針對你要的 tables 及 columns
系統時間:2024-07-04 23:16:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!