snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
SELECT (SELECT CASE WHEN b.rost_division = 1 THEN 'RO'
WHEN b.rost_division = 2 THEN 'ST' END) AS 'type' ,SUM(a.defect_quantity) AS 'output2'
FROM t06_product_defect_info a left join m05_product_master b on a.item_code = b.item_code
WHERE a.product_number = 'X202307171201' GROUP BY b.rost_division
และ
SELECT (SELECT CASE WHEN b.rost_division = 1 THEN 'RO' WHEN b.rost_division = 2 THEN 'ST' END) AS 'type'
,SUM(a.defect_quantity) AS 'output2'
FROM t06_product_defect_info a left join m05_product_master b on a.item_code = b.item_code
WHERE a.product_number = 'X202307171201' GROUP BY b.rost_division
ชุดแรก จะได้ output2 ของ sum defect ถูกต้อง และชุดที่สองจะได้ output1 ของ sum good ถูกต้อง แต่เมื่อผมลอง join 3 table กลับแสดง ผลรวมผิด ครับ
You do not have the required permissions to view the files attached to this post.
SELECT
COALESCE(t1.type, t2.type) AS type,
t1.output1,
t2.output2
FROM
(
SELECT
'RO' AS type,
SUM(a.good_quantity) AS output1,
NULL AS output2
FROM
[mcproductsystem].[dbo].[t09_product_report_press] a
INNER JOIN m0S_product_master b ON a.item_code = b.item_code
WHERE
a.product_number = 'X202307171201' AND b.rost_division = 1
GROUP BY
b.rost_division
) t1
FULL OUTER JOIN
(
SELECT
'ST' AS type,
NULL AS output1,
SUM(a.defect_quantity) AS output2
FROM
[mcproductsystem].[dbo].t06_product_defect_info a
LEFT JOIN m05_product_master b ON a.item_code = b.item_code
WHERE
a.product_number = 'X202307171201' AND b.rost_division = 2
GROUP BY
b.rost_division
) t2
ON t1.type = t2.type;