討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 討論區最近新進100則主題 最完整AWS雲端解決方案培訓
[ 回上頁 ] [ 討論區發言規則 ]
透過合併 JOIN 方式 -- 錯誤數據資料
更改我的閱讀文章字型大小
作者 : junsheng(js)
[ 貼文 31 | 人氣 5587 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/3/19 下午 04:54:06

Dear 各位先進好
小弟 先各別按照日期範圍條件加 LA005 出入庫 ('-1' 或 '1'), 執行結果 數據資料是正確
領料加總 : 309549.810
退料加總 : 37.000

現在希望可以透過合併 JOIN 方式 把 "領料加總" 跟 "退料加總" 可以同時顯示在欄位資料上,
但 執行結果....退料加總 64639.000 卻是錯誤數據資料 (正確應該是 37.000)

以下是我 SQL 語法, 麻煩可以幫忙解惑更正語法, 銘心感謝 !!

-- -領料
SELECT LA001 AS 品號, SUM(LA011) 領料加總
FROM BUENO_VN..INVLA
 WHERE LA004 BETWEEN '20140101' AND '20141231' AND LA014 = '3' AND LA005 = '-1'
AND LA001 LIKE '54F1VEZX0001%'
 GROUP BY LA001

執行結果 :
品號 領料加總
54F1VEZX0001 309549.810

-- 退料
SELECT LA001 AS 品號, SUM(LA011) 退料加總
FROM BUENO_VN..INVLA
 WHERE LA004 BETWEEN '20140101' AND '20141231' AND LA014 = '3' AND LA005 = '1'
AND LA001 LIKE '54F1VEZX0001%'
 GROUP BY LA001

執行結果 :
品號 退料加總
54F1VEZX0001 37.000

-----------------------------
用合併 LEFT JOIN 方式

-- 合併JOIN方式
SELECT B1.MB001 AS 品號, B1.MB002 AS 品名, SUM(B2.LA011) AS C2, SUM(B3.LA011) AS C3
-- (CASE WHEN SUM(B2.LA011) IS NULL THEN 0 ELSE SUM(B2.LA011) END) AS 本期領料淨量
FROM
(SELECT * FROM BUENO_VN..INVMB
 WHERE MB001 LIKE '54F1VEZX0001%' ) AS B1
LEFT JOIN
(SELECT * FROM BUENO_VN..INVLA
 WHERE LA004 BETWEEN '20140101' AND '20141231' AND LA014 = '3' AND LA005 = '-1') AS B2
ON B1.MB001 = B2.LA001
LEFT JOIN
(SELECT * FROM BUENO_VN..INVLA
 WHERE LA004 BETWEEN '20140101' AND '20141231' AND LA014 = '3' AND LA005 = '1') AS B3
ON B1.MB001 = B3.LA001
GROUP BY B1.MB001, B1.MB002
ORDER BY B1.MB001

執行結果 :
品號 領料加總 退料加總
54F1VEZX0001 309549.810 64639.000

Looking Ahead on Request
「Wish you all the best」 Thanks a lot and Have a Nice Day!!
 板主 : 徵求中
 > SQL Server 2008 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - SQL Server 2008 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
SQL Server 2008
1 joe 50 
2 XWLin 50 
3 狼鷹 50 
4 史努比 20 
SQL Server 2008
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.015625