我需要一些关于这个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初学者的任何提示?
答案 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