SELECT o.budget_code, SUM(CASE WHEN MONTH(o.PO_datetime) IN (1,2,3) AND YEAR(o.PO_datetime)=? THEN COALESCE(o.total * CASE WHEN o.moneda='USD' THEN 18.68 WHEN o.moneda='EUR' THEN 21.72 WHEN o.moneda='KRW' THEN 0.0134 WHEN o.moneda='JPY' THEN 0.1266 WHEN o.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q1Results, SUM(CASE WHEN MONTH(o.PO_datetime) IN (4,5,6) AND YEAR(o.PO_datetime)=? THEN COALESCE(o.total * CASE WHEN o.moneda='USD' THEN 18.68 WHEN o.moneda='EUR' THEN 21.72 WHEN o.moneda='KRW' THEN 0.0134 WHEN o.moneda='JPY' THEN 0.1266 WHEN o.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q2Results, SUM(CASE WHEN MONTH(o.PO_datetime) IN (7,8,9) AND YEAR(o.PO_datetime)=? THEN COALESCE(o.total * CASE WHEN o.moneda='USD' THEN 18.68 WHEN o.moneda='EUR' THEN 21.72 WHEN o.moneda='KRW' THEN 0.0134 WHEN o.moneda='JPY' THEN 0.1266 WHEN o.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q3Results, SUM(CASE WHEN MONTH(o.PO_datetime) IN (10,11,12) AND YEAR(o.PO_datetime)=? THEN COALESCE(o.total * CASE WHEN o.moneda='USD' THEN 18.68 WHEN o.moneda='EUR' THEN 21.72 WHEN o.moneda='KRW' THEN 0.0134 WHEN o.moneda='JPY' THEN 0.1266 WHEN o.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q4Results, 'orders' AS source -- Agregamos el campo 'source' FROM orders o WHERE o.status>=6 AND o.status <> 19 AND o.plant=? AND YEAR(o.PO_datetime)=? GROUP BY o.budget_code UNION ALL SELECT p.budget_code, SUM(CASE WHEN MONTH(p.create_date) IN (1,2,3) AND YEAR(p.create_date)=? THEN COALESCE(p.freight_cost * CASE WHEN p.moneda='USD' THEN 18.68 WHEN p.moneda='EUR' THEN 21.72 WHEN p.moneda='KRW' THEN 0.0134 WHEN p.moneda='JPY' THEN 0.1266 WHEN p.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q1Results, SUM(CASE WHEN MONTH(p.create_date) IN (4,5,6) AND YEAR(p.create_date)=? THEN COALESCE(p.freight_cost * CASE WHEN p.moneda='USD' THEN 18.68 WHEN p.moneda='EUR' THEN 21.72 WHEN p.moneda='KRW' THEN 0.0134 WHEN p.moneda='JPY' THEN 0.1266 WHEN p.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q2Results, SUM(CASE WHEN MONTH(p.create_date) IN (7,8,9) AND YEAR(p.create_date)=? THEN COALESCE(p.freight_cost * CASE WHEN p.moneda='USD' THEN 18.68 WHEN p.moneda='EUR' THEN 21.72 WHEN p.moneda='KRW' THEN 0.0134 WHEN p.moneda='JPY' THEN 0.1266 WHEN p.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q3Results, SUM(CASE WHEN MONTH(p.create_date) IN (10,11,12) AND YEAR(p.create_date)=? THEN COALESCE(p.freight_cost * CASE WHEN p.moneda='USD' THEN 18.68 WHEN p.moneda='EUR' THEN 21.72 WHEN p.moneda='KRW' THEN 0.0134 WHEN p.moneda='JPY' THEN 0.1266 WHEN p.moneda='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q4Results, 'pta' AS source -- Agregamos el campo 'source' FROM pta p WHERE p.status>=15 AND p.plant=? AND YEAR(p.create_date)=? GROUP BY p.budget_code UNION ALL SELECT t.budget_code, SUM(CASE WHEN MONTH(t.insertDate) IN (1,2,3) AND YEAR(t.insertDate)=? THEN COALESCE(t.totalCost * CASE WHEN t.currency='USD' THEN 18.68 WHEN t.currency='EUR' THEN 21.72 WHEN t.currency='KRW' THEN 0.0134 WHEN t.currency='JPY' THEN 0.1266 WHEN t.currency='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q1Results, SUM(CASE WHEN MONTH(t.insertDate) IN (4,5,6) AND YEAR(t.insertDate)=? THEN COALESCE(t.totalCost * CASE WHEN t.currency='USD' THEN 18.68 WHEN t.currency='EUR' THEN 21.72 WHEN t.currency='KRW' THEN 0.0134 WHEN t.currency='JPY' THEN 0.1266 WHEN t.currency='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q2Results, SUM(CASE WHEN MONTH(t.insertDate) IN (7,8,9) AND YEAR(t.insertDate)=? THEN COALESCE(t.totalCost * CASE WHEN t.currency='USD' THEN 18.68 WHEN t.currency='EUR' THEN 21.72 WHEN t.currency='KRW' THEN 0.0134 WHEN t.currency='JPY' THEN 0.1266 WHEN t.currency='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q3Results, SUM(CASE WHEN MONTH(t.insertDate) IN (10,11,12) AND YEAR(t.insertDate)=? THEN COALESCE(t.totalCost * CASE WHEN t.currency='USD' THEN 18.68 WHEN t.currency='EUR' THEN 21.72 WHEN t.currency='KRW' THEN 0.0134 WHEN t.currency='JPY' THEN 0.1266 WHEN t.currency='CNY' THEN 2.6110 ELSE 1 END, 0) ELSE 0 END) AS q4Results, 'travel' AS source -- Agregamos el campo 'source' FROM travel t WHERE t.plant=? AND YEAR(t.insertDate)=? GROUP BY t.budget_code UNION ALL SELECT b.code AS budget_code, b.originalq1 - b.q1 AS q1Results, b.originalq2 - b.q2 AS q2Results, b.originalq3 - b.q3 AS q3Results, b.originalq4 - b.q4 AS q4Results, 'budget_open' AS source -- Agregamos el campo 'source' FROM budget b WHERE b.po_type='open'