假设我有两张桌子
Table1:
product_id, design1, design2
1 A C
2 B A
Table2:
product_id, value
1 10
2 10
现在我想总结所有产品特定设计的所有价值。
SELECT designA, SUM(value) FROM (
SELECT b.design1 AS designA, SUM(value) AS value FROM table2 AS a LEFT JOIN table1 AS b ON a.product_id = b.product_id GROUP BY b.design1) AS T GROUP BY designA
It gives me this:
designA SUM(value)
A 10
B 10
现在的问题是,如果用户在 table1 中指定了 design2,那么 design1 的值将自动添加到 design2 中。如果 design2 不存在 design1 列,那么它将是一个新的结果行:
期望的结果是这样的:
designA SUM(value)
A 20
B 10
C 10