台灣最大程式設計社群網站
線上人數
1823
 
會員總數:246229
討論主題:189787
歡迎您免費加入會員
討論區列表 >> MS SQL >> Left join 的疑問
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Left join 的疑問
價值 : 30 QP  點閱數:745 回應數:6
樓主

Authur Kuo
門外漢
0 4
64 6
發送站內信

各位好,我在一個語法發生了疑問,語法如下:


這句所撈出來的值裡面,b.MType的值全都是NULL...想請問語法上應該怎麼改才可以撈出MType的值呢? (MType值為 0 or 1,確定都有值)

謝謝!

搜尋相關Tags的文章: [ MS SQL ] , [ Left join ] ,
本篇文章發表於2016-07-14 16:44
1樓
你看一下
select * from PCA..PCA_MODEL <== 這個有值嗎?

ping PCA 這台主機是不是ping得到 不然就用IP

linked server問題? 印象中 [主機名稱].[資料庫].dbo.[資料表] 應該是這麼寫的
本篇文章回覆於2016-07-14 21:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

彩虹
檢舉此回應
你沒有提供資料表,也很難知道是什麼問題

我只能稍微這樣子做修改,兩邊差異你看一下
這是你原本的
select distinct a.Model, a.Customer, b.MType from NXRMA..SNO a left join PCA..PCA_MODEL b on a.Model = b.Model and a.Status = 'O'
這是我修改後的
select distinct a.Model, a.Customer, b.MType from NXRMA..SNO a left join PCA..PCA_MODEL b on a.Model = b.Model where a.Status = 'O'
本篇文章回覆於2016-07-14 21:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

pilipala
檢舉此回應

請參考這篇文章看看
注意Left Join時過濾條件擺放的位置,不同的位置可是會有不同的結果歐
https://dotblogs.com.tw/rockchang/2016/05/30/233904
本篇文章回覆於2016-07-15 08:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Authur Kuo
檢舉此回應
感謝兩位大大的回答,但是後來我發現原因了, a b 兩個table 在model欄位上其實有點不同,兩邊規格都一樣,是12碼英文數字組成,但是兩邊的前4碼有所不同,所以我想請問,如果我是要比對
a.Model = b.Model 的後面7碼是否相同,請問SQL應該要怎麼改? 用 Replace function??
本篇文章回覆於2016-07-15 10:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

彩虹
檢舉此回應
你可以搭配SUBSTRING
http://fecbob.pixnet.net/blog/post/34683071-%5Bsql%5D-%E6%93%B7%E5%8F%96%E5%AD%97%E4%B8%B2(substring)-
本篇文章回覆於2016-07-15 12:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Authur Kuo
檢舉此回應
感謝 "彩虹"大的提醒,目前把語法改成


有成功撈到資料囉,感激不盡!!!
本篇文章回覆於2016-07-15 17:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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