使用SQLite查询我尝试使用不同表中的列执行算术运算,其中我将各组中的产品价格乘以对应于单独表中每个组的百分比:
SELECT id,
SUM(column_a*column_b)
FROM table_1
GROUP BY id
我已经设法解决了如何对创建新视图的同一个表的列执行算术运算:
SELECT *
FROM table_1
INNER JOIN
table_2 ON table_1.column_1 = table_2.column_1
INNER JOIN
table_3 ON table_2.column_2 = table_3.column_2;
我还设法加入了三个表:
SUM(table_1.column_1*table_3.column_2)
但我无法弄清楚如何对来自第三个表连接的两个不同表的两列进行算术运算,如:
The SELECT statement could not be parsed. Please correct the query and retry.
Details: Syntax error
当我将这行代码添加到连接所有三个表的查询时,我得到:
INNER JOIN
我无法直接table_1
table_3
到table_2
,因为它们没有相应的值,所以我必须通过|
加入。
答案 0 :(得分:0)
这个解决方案很简单,但如果你不喜欢像我这样的sql,那就不行了。
SELECT table_1.price * table_3.percentage
INNER JOIN
table_2 ON table_1.column_1 = table_2.column_1
INNER JOIN
table_3 ON table_2.column_2 = table_3.column_2;
似乎sql中的任何算术都需要在SELECT语句中完成。
下面更详细的算术语法让我错误地解决了这个问题,实际上解决方案更简单了:
SELECT id,
SUM(column_a*column_b)
FROM table_1
GROUP BY id