假设3个表:
MySQL可以在这种情况下计算总和吗?如果是这样,我们将非常感谢您对该查询的一些指导。
答案 0 :(得分:0)
你可以使用MySQL的CASE
或IF
来达到你的目的,例如:
SELECT IF(c.flag = ?, a.price + b.taxes - b.discount, a.price)
FROM <Table 1> AS a
JOIN <Table 2> AS b ON <what ever>
JOIN <Table 3> AS c ON <what ever>
如果我有表定义,我可以发布一个更具体的例子。但是,也许,如果您查看CASE
和IF
的文档,您可以找到自己的解决方案。
答案 1 :(得分:0)
SELECT SUM(CASE (SELECT flag FROM table3)
WHEN onlyTable1 THEN t1.col
WHEN onlyTable2 THEN t2.col
ELSE t1.col+t2.col END)
FROM table1 AS t1 JOIN table2 AS t2