1

我需要一些有关此 SQL 连接的帮助..

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

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 的用户之间的所有 partsales 的总和:

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 初学者的任何提示?

4

1 回答 1

3

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

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

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

SELECT SUM( parts.inprice ) 
FROM sales
JOIN parts ON ( parts.idpart = sales.idpart )
WHERE sales.date BETWEEN a AND b
LIMIT 0, 30
于 2012-12-15T19:06:48.133 回答