LEFT JOIN |
尚未結案
|
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
D6_MS2000
請問各位大大
Select TG001,MQ002,TG002,TG005,MA002,TH004,TH005,TH006,MB029 ,TH008,MB008,MB043,MB077,MQ015
from PURTG,PURTH,INVMB,CMSMQ,PURMA
WHERE PURTG.TG001=PURTH.TH001
AND PURTG.TG002=PURTH.TH002
AND PURTH.TH004=INVMB.MB001
AND PURTG.TG001=CMSMQ.MQ001
AND PURTG.TG005=PURMA.MA001
AND PURTG.TG005=INVMB.MB032 Select TG001,MQ002,TG002,TG005,MA002,TH004,TH005,TH006,MB029,TH008,MB008,MB043,MB077,MQ015
from PURTG Left join PURTH ON PURTG.TG001=PURTH.TH001 AND PURTG.TG002=PURTH.TH002
Left join CMSMQ ON PURTG.TG001=CMSMQ.MQ001
Left join PURMA ON PURTG.TG005=PURMA.MA001
Left join INVMB ON PURTG.TG005=INVMB.MB032
Left join INVMB ON PURTH.TH004=INVMB.MB001 //該如何left join
拜託各位
------
doll_candy |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好! 請在您的Left Join語句中, Select后的每個欄位名前加上資料表名稱, 如下:
Select PURTG.TG001... 另外, 請問您需要做到的結果是什么? MSSQL還提供另一種稱之為外部合并(Left Outer Join)的特殊合并方法, 其作用舉例來說, 資料表1和資料表2, 說明如下:
Select A.Number, A.Name From 資料表1 Left Outer Join 資料表2 On A.Number=B.Number
//資料表1和資料表2作外部合并, 資料表1中每一筆資料都會被選出來,
//不論是否在資料表2中找到相匹配的資料 參考看看! =====================
努力,相信會獲得美麗!
忻晟 發表人 - cashxin2002 於 2003/09/22 20:23:25
------
忻晟 |
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
引言: 您好! 請在您的Left Join語句中, Select后的每個欄位名前加上資料表名稱, 如下: Select PURTG.TG001... 另外, 請問您需要做到的結果是什么? MSSQL還提供另一種稱之為外部合并(Left Outer Join)的特殊合并方法, 其作用舉例來說, 資料表1和資料表2, 說明如下: Select A.Number, A.Name From 資料表1 Left Outer Join 資料表2 On A.Number=B.Number //資料表1和資料表2作外部合并, 資料表1中每一筆資料都會被選出來, //不論是否在資料表2中找到相匹配的資料PURTG.PURTH為單頭單身關係 PURTG 其中各一欄位(代號) 與 CMSMQ(單據Table) & PURMA(廠商Table) 有關聯 PURTG 其中一欄位 與 INVMB(廠商) 有關聯 PURTH 其中一欄位 與 INVMB(品名) 有關聯 &&假設INVMB(產品基本Table) 內有 同品名不同廠商 但之前我只做過 Select .... from PURTG Left join PURTH ON PURTG.TG001=PURTH.TH001 AND PURTG.TG002=PURTH.TH002 Left join CMSMQ ON PURTG.TG001=CMSMQ.MQ001 Left join PURMA ON PURTG.TG005=PURMA.MA001 Left join INVMB ON PURTG.TG005=INVMB.MB032 &&前面這一段由 PURTG LEFT JOIN .....程式沒錯誤訊息 &&但後面這一段就不曾做過 PURTH LEFT JOIN INVMB 會有問題 Left join INVMB ON PURTH.TH004=INVMB.MB001 //該如何left join 小妹拜託了
------
doll_candy |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好! 我剛才發現您的語法中有個重复的Left Join語句, 我將其以紅色標注, 如下:
引言: PURTG.PURTH為單頭單身關係 PURTG 其中各一欄位(代號) 與 CMSMQ(單據Table) & PURMA(廠商Table) 有關聯 PURTG 其中一欄位 與 INVMB(廠商) 有關聯 PURTH 其中一欄位 與 INVMB(品名) 有關聯 &&假設INVMB(產品基本Table) 內有 同品名不同廠商 但之前我只做過 Select .... from PURTG Left join PURTH ON PURTG.TG001=PURTH.TH001 AND PURTG.TG002=PURTH.TH002 Left join CMSMQ ON PURTG.TG001=CMSMQ.MQ001 Left join PURMA ON PURTG.TG005=PURMA.MA001 Left join INVMB ON PURTG.TG005=INVMB.MB032 前面這一段由 PURTG LEFT JOIN .....程式沒錯誤訊息 但後面這一段就不曾做過 PURTH LEFT JOIN INVMB 會有問題 Left join INVMB ON PURTH.TH004=INVMB.MB001請改為如下試試看: Select .... from PURTG Left join PURTH ON PURTG.TG001=PURTH.TH001 AND PURTG.TG002=PURTH.TH002 Left join CMSMQ ON PURTG.TG001=CMSMQ.MQ001 Left join PURMA ON PURTG.TG005=PURMA.MA001 Left join INVMB ON PURTG.TG005=INVMB.MB032 and PURTH.TH004=INVMB.MB001 當然您還需要注意其中各欄位的關聯問題. 參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
引言:請改為如下試試看: Select .... from PURTG Left join PURTH ON PURTG.TG001=PURTH.TH001 AND PURTG.TG002=PURTH.TH002 Left join CMSMQ ON PURTG.TG001=CMSMQ.MQ001 Left join PURMA ON PURTG.TG005=PURMA.MA001 Left join INVMB ON PURTG.TG005=INVMB.MB032 and PURTH.TH004=INVMB.MB001棒極了 NICE 謝了
------
doll_candy |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |