SELECT dbo.群組_公司.客戶名稱, dbo.附屬設備採購單.SAP_NO, dbo.產品資料庫.產品說明, dbo.附屬設備採購單.入倉日期, dbo.附屬設備.s_no, dbo.附屬設備.公司編號, dbo.產品資料庫.產品編號, dbo.附屬設備採購單.產品序號, dbo.附屬設備.出貨時間, dbo.附屬設備.異動日期, dbo.附屬設備.匯入人員, dbo.附屬設備.匯入時序, dbo.附屬設備.訂單編號, dbo.附屬設備採購單.AvayaPO, dbo.附屬設備採購單.AvayaPOComName, dbo.附屬設備採購單.s_no AS s_no2, dbo.附屬設備採購單.數量, dbo.附屬設備採購單.狀態, dbo.附屬設備採購單.AvayaPOSAP, dbo.群組_公司.AvayaPOComName AS PLDSName, dbo.附屬設備採購單.備註, dbo.附屬設備.出貨日期 FROM dbo.產品資料庫 INNER JOIN dbo.附屬設備採購單 ON dbo.產品資料庫.產品編號 = LTRIM(RTRIM(dbo.附屬設備採購單.產品編號)) LEFT OUTER JOIN dbo.附屬設備 LEFT OUTER JOIN dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號
产生这种有基本上有两个原因 一、JOIN 语句没有加 条件 例如:LEFT OUTER JOIN dbo.附屬設備 二、JOIN 语句增加的条件存在多个值 TABLE1 里有 A ,B有一条记录 1,2 TABLE2 里有 A ,B有二条记录 1,3和1,4 如果写成这样 SELECT * FROM TABLE1 A LEFT JOIN TABLE2 B ON B.A=A.A就会产生 笛卡尔积 出现多相同的记录
left join 是有可能产生重复值的 换INNER JOIN 试试。
LEFT OUTER JOIN dbo.附屬設備 @@@ LEFT OUTER JOIN dbo.群組_公司 ON dbo.附屬設備.公司編號 @@@ 的位置上没有ON条件
LEFT OUTER JOIN dbo.附屬設備 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX LEFT OUTER JOIN dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號XXXXXXXXXXXXXXXXXXXXXX 部分应该加上链接条件!
LEFT OUTER JOIN dbo.附屬設備 LEFT OUTER JOIN dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號 ------- 后面怎么没有ON条件啊?
dbo.附屬設備.公司編號, dbo.產品資料庫.產品編號, dbo.附屬設備採購單.產品序號, dbo.附屬設備.出貨時間, dbo.附屬設備.異動日期,
dbo.附屬設備.匯入人員, dbo.附屬設備.匯入時序, dbo.附屬設備.訂單編號, dbo.附屬設備採購單.AvayaPO, dbo.附屬設備採購單.AvayaPOComName,
dbo.附屬設備採購單.s_no AS s_no2, dbo.附屬設備採購單.數量, dbo.附屬設備採購單.狀態, dbo.附屬設備採購單.AvayaPOSAP,
dbo.群組_公司.AvayaPOComName AS PLDSName, dbo.附屬設備採購單.備註, dbo.附屬設備.出貨日期
FROM dbo.產品資料庫 INNER JOIN
dbo.附屬設備採購單 ON dbo.產品資料庫.產品編號 = LTRIM(RTRIM(dbo.附屬設備採購單.產品編號)) LEFT OUTER JOIN
dbo.附屬設備 LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號
一、JOIN 语句没有加 条件 例如:LEFT OUTER JOIN dbo.附屬設備
二、JOIN 语句增加的条件存在多个值
TABLE1 里有 A ,B有一条记录 1,2
TABLE2 里有 A ,B有二条记录 1,3和1,4
如果写成这样
SELECT *
FROM TABLE1 A
LEFT JOIN TABLE2 B ON B.A=A.A就会产生 笛卡尔积 出现多相同的记录
dbo.附屬設備 @@@ LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 @@@ 的位置上没有ON条件
dbo.附屬設備 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號
ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號XXXXXXXXXXXXXXXXXXXXXX
部分应该加上链接条件!
dbo.附屬設備 LEFT OUTER JOIN
dbo.群組_公司 ON dbo.附屬設備.公司編號 = dbo.群組_公司.公司編號 ON dbo.附屬設備採購單.產品序號 = dbo.附屬設備.產品序號
-------
后面怎么没有ON条件啊?