MYSQL - JOIN 表过滤器不起作用

标签 mysql join


我有四个表,每个表都与某个 id 连接,请参阅下面的查询我是如何得到的

SELECT 
tax_rates.name, 
IF( products.tax_method = 0, 'Inclusive', 'Exclusive') AS type, 
IF((SUM(purchases.grand_total) > 0),(SUM(purchases.grand_total)),(SUM(purchase_items .subtotal))) AS total_amount, 
IF((SUM(purchases.order_tax) > 0),(SUM(purchases.order_tax)),SUM(purchase_items .item_tax)) AS tax_amount 
FROM tax_rates 
LEFT JOIN purchases ON purchases.order_tax_id = tax_rates.id 
LEFT JOIN purchase_items ON purchase_items.tax_rate_id = tax_rates .id 
LEFT JOIN products ON products.id = purchase_items.product_id 
WHERE purchases.warehouse_id = 1 
GROUP BY tax_rates.id, products.tax_method 
ORDER BY tax_rates.name desc LIMIT 0, 10

上面的查询没有返回任何结果,但如果我删除 WHEREpurchasing.warehouse_id = 1,那么它会显示结果。我不知道我哪里做错了。请纠正我。

很抱歉告诉您这一点,我正在尝试获取采购订单税和采购项目税 特别是商店和日期

输出

name       type     total_amount    tax_amount 

VAT @20%   Inclusive    11005.2000  1834.2000
VAT @10%   Inclusive    165.0000    15.0000
No Tax     Exclusive    204771.4000     0.0000
GST @6%    Exclusive    7155.0000   405.0000
GST @6%    Inclusive    7155.0000   405.0000

谢谢

最佳答案

数据类型? buys.warehouse_id = '1'?

关于MYSQL - JOIN 表过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37004162/

相关文章:

sql - 如何加快三个大表的 INNER JOIN 中分组的 COUNT 个值的速度?

mysql - 如何让 MS SQL 创建具有唯一 ID 的 View ?

php - 如何在函数中传递空变量并更改它们的值

Mysql - 查询优化

来自多个表的 MySQL JOIN 语句

swift 2.0 : map & join

php - 子查询返回多行

mysql - 将时间和日期转换为mysql日期时间

mysql - 使用 JOIN 选择在第二个表上有 2 个条件的行

python - 使用 sqlalchemy 语句和表达式 api 生成多个连接