子查询返回超过1行 - 即使我使用IN子句

时间:2017-01-11 16:05:20

标签: mysql sql triggers subquery

我需要创建一个小的MySQL触发器来计算价格税。我查看并搜索了答案,并尝试了ININNER JOIN等许多建议。但我仍然遇到此错误,我不知道如何解决它。表products中有很多产品的价格,而表tax中只有一行含税。我需要每个产品价格除以此税值。非常感谢您的帮助。

Select  ((Select    product_price_tax
          From      products
          Where     product_price_tax In (Select    product_price_tax
                                          From      products)
         ) / (Select    tax_value
              From      tax
             ))

1 个答案:

答案 0 :(得分:0)

如果没有错,你正在寻找这个

SELECT product_price_tax / IFNULL((SELECT tax_value
                                    FROM   tax), 0)
FROM   products 

IFNULL用于处理除以零错误,以防tax值为0