MySQL - 计算连接两个表的利润
MySQL - Calculating profit from joining two tables
所以我有两个 table,
- 一个有税前产品毛利,
- 其他 table 有个人产品税百分比(不幸的是整数格式)。
我使用的代码有效,但有些产品没有征税,因此有 0。
我正在尝试弄清楚如何使用我正在使用的相同公式来计算他们的利润。
SELECT o.product_id,
(((o.total_margin/1000)-(p.tax/100)*o.total_margin/1000)/1000) AS Profit
FROM merproduct_offers o
JOIN merchant_products p ON o.product_id = p.product_id
WHERE p.tax > '1'
下面链接的是我正在使用的两个 table 的屏幕截图。再次感谢!
您似乎想要 left join
和 coalesce()
:
SELECT
o.product_id,
(((o.total_margin/1000)-(COALESCE(p.tax, 0)/100)*o.total_margin/1000)/1000) AS Profit
FROM merproduct_offers o
LEFT JOIN merchant_products p
ON o.product_id = p.product_id AND p.tax > 1
很可能可以简化计算,但如果不解释其目的,则很难判断。 也许是这样的?
(o.total_margin / 1000 - COALESCE(p.tax, 0) * o.total_margin / 100000) / 1000 AS Profit
所以我有两个 table,
- 一个有税前产品毛利,
- 其他 table 有个人产品税百分比(不幸的是整数格式)。
我使用的代码有效,但有些产品没有征税,因此有 0。
我正在尝试弄清楚如何使用我正在使用的相同公式来计算他们的利润。
SELECT o.product_id,
(((o.total_margin/1000)-(p.tax/100)*o.total_margin/1000)/1000) AS Profit
FROM merproduct_offers o
JOIN merchant_products p ON o.product_id = p.product_id
WHERE p.tax > '1'
下面链接的是我正在使用的两个 table 的屏幕截图。再次感谢!
您似乎想要 left join
和 coalesce()
:
SELECT
o.product_id,
(((o.total_margin/1000)-(COALESCE(p.tax, 0)/100)*o.total_margin/1000)/1000) AS Profit
FROM merproduct_offers o
LEFT JOIN merchant_products p
ON o.product_id = p.product_id AND p.tax > 1
很可能可以简化计算,但如果不解释其目的,则很难判断。 也许是这样的?
(o.total_margin / 1000 - COALESCE(p.tax, 0) * o.total_margin / 100000) / 1000 AS Profit