台灣最大程式設計社群網站
線上人數
1846
 
會員總數:241132
討論主題:186802
歡迎您免費加入會員
討論區列表 >> MS SQL >> SQL 語法出現錯誤
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
SQL 語法出現錯誤
價值 : 100 QP  點閱數:178 回應數:5

樓主

wi
門外漢
0 45
883 92
發送站內信

各位大大,

請問以下語法有錯誤嗎?

a.pid*=b.產品編號

先前架構在 WIN2000 SERVER 的 IIS 和 SQL 2000 執行都沒問題
現在換成 WIN 8.1 的 IIS 和 SQL 2014 執行卻出現錯誤,
請問高手該如何解決

strWhere="select a.*,b.品名規格 from comInqSub a,comproduct b where a.cid='" & request("id") & "' and a.pid*=b.產品編號 order by a.id"




搜尋相關Tags的文章: [ SQL 語法出現錯誤 ] ,
本篇文章發表於2017-10-25 22:15
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

羅伯斯
檢舉此回應
出現啥錯誤訊息?

strWhere="select a.*,b.品名規格 from comInqSub a,comproduct b where a.cid='" & request("id") & "' and a.pid*=b.產品編號 order by a.id"


初步看起來問題可能出在 a.pid*=b.產品編號中的萬用字元 * 上,比對的方式不夠明確
你的資料表 a 是不是有多個名稱以 pid 開頭的欄位?

除非你的資料表確定只有一個名稱為 pid* 的欄位,不然 SQL 找不到該欄位,就會出錯
如果 a 資料表有多個名稱開頭為 pid ,正確的寫法應該是逐一的列出,如

and (a.pid1=b.產品編號 or a.pid2=b.產品編號 or a.pid3=b.產品編號 or a.pid4=b.產品編號 .....)






本篇文章回覆於2017-10-26 00:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
應該是comInqSub a,comproduct b 這兩個資料表 有一樣名字的欄位

select a.品名規格,b.品名規格 from comInqSub a,comproduct b 這樣才不會錯
本篇文章回覆於2017-10-27 09:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

wi
檢舉此回應
謝謝二位大大回覆

comInqSub 只有一個 pid 欄位
而且 comInqSub 沒有 品名規格 欄位
本篇文章回覆於2017-10-29 11:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

asp小菜渣
檢舉此回應
在sql server2005已經提示「*=」「=*」這種聯結運算子,未來不再支援
我實際用sql server 2014,的確會出現錯誤,且沒有任何解決方案。

你修改一下語句吧:

本篇文章回覆於2017-10-30 11:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

pilipala
檢舉此回應
請參考這篇之前的討論
http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD20131004093858OD7.html
本篇文章回覆於2017-10-30 22:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.