连接表以查找SUM

时间:2012-12-15 19:00:37

标签: sql join

我需要一些关于这个SQL Join的帮助..

我有一张表“sales”,看起来像这样

date        idpart
1311316400   5
1321316400   6
1341216400   7
1351516400   8

和表格“部分”看起来像这样

idpart   name    inprice  outprice
 5        a        10       40
 6        b        20       55
 7        c        20       55 
 8        d        20       55

现在我想通过这样的方式找到用户给定日期A和日期B之间的所有partales的总和:

SELECT idpart, SUM( inprice ) 
FROM parts, sales
WHERE parts.idpart = sales.idpart
GROUP BY idpart
LIMIT 0 , 30

但通过这样做,我获得了零件在销售表中的每个时间的价值。 我想要A和B之间整个时期的总数。 我不知道我应该在哪里插入:

WHERE date BETWEEN A AND B

SQL初学者的任何提示?

1 个答案:

答案 0 :(得分:3)

如果我的问题正确,那么您可以使用关键字AND组合您的条件:

SELECT SUM( inprice ) 
FROM parts, sales
WHERE parts.idpart = sales.idpart
AND sales.date BETWEEN A AND B
LIMIT 0 , 30

为了更好的可读性,请始终使用“新”JOIN - 语法。一旦您的查询变得更加复杂,这将使您更容易理解您的查询:

SELECT SUM( parts.inprice ) 
FROM sales
JOIN parts ON ( parts.idpart = sales.idpart )
WHERE sales.date BETWEEN a AND b
LIMIT 0, 30