该专栏存在,但他仍然给我这个错误。有谁知道我该如何解决这个问题?
UPDATE dashboard_19_2 d
SET d.mwst_abs = (
SELECT SUM(berechneter_mwst)
FROM (
SELECT s.ordernumber, (s.invoice_amount / 100) * max_tax_rate AS berechneter_mwst
FROM s_order s
JOIN (
SELECT ordernumber, MAX(tax_rate) AS max_tax_rate
FROM s_order_details
WHERE price > 0
GROUP BY ordernumber
) sd ON s.ordernumber = sd.ordernumber
WHERE DATE(s.ordertime) = d.datum
AND s.subshopID = 19
) AS mwst_berechnungen
);
我想通过计算一个表上发票金额的总和除以百来计算一列,然后乘以另一个表的税率。
您可以使用
LATERAL JOIN
UPDATE dashboard_19_2 d
CROSS JOIN LATERAL (
SELECT SUM(s.invoice_amount / 100) * max_tax_rate AS berechneter_mwst
FROM s_order s
JOIN (
SELECT ordernumber, MAX(tax_rate) AS max_tax_rate
FROM s_order_details
WHERE price > 0
GROUP BY ordernumber
) sd ON s.ordernumber = sd.ordernumber
WHERE DATE(s.ordertime) = d.datum
AND s.subshopID = 19
) s
SET d.mwst_abs = s.berechneter_mwst;