初学SQL - 可能与JOIN相加

时间:2014-08-10 22:00:49

标签: php sql

我对SQL比较陌生,之前只处理过非常基本的语句。

表A
  - id
  - clubid

表B

  • ID
  • applicationid *(外键)id在^
  • 之上
  • 名词
  • P
  • ķ
  • 毫克
  • 区域

我想要做的是如下,

    SELECT * from applications WHERE clubid = $id

然后结果我需要按照

的方式运行查询
    SELECT Sum(n), Sum(p), Sum(k), Sum(mg) from productsapplied where area = $area

我知道这第二个陈述是错误的,因为它将是每行不可能的总和,所以我试图找到一种方法将两个查询链接在一起。正如我所说的那样,我是初学者,我已经看过Sum和内部连接,但不能理解它。

如果需要更多详细信息,请与我们联系!非常感谢 !

2 个答案:

答案 0 :(得分:1)

您需要在查询中添加GROUP BY子句。

SELECT applications.id, applications.clubid, sum(products.n), sum(products.p) 
FROM applications 
JOIN productsapplied AS products
ON productsapplied.applicationid = application.id
GROUP BY application.id
WHERE clubid = $id AND products.area = $area;

请注意,您需要适当地设置GROUP BY。我假设我们正在为每个applicationid求和。我也没有完成每一栏的每一个细节,因为我认为你可以自己解决这个问题。

答案 1 :(得分:0)

我认为这可能是您尝试做的事情:

SELECT Sum(productsapplied.n), Sum(productsapplied.p), Sum(productsapplied.k), Sum(productsapplied.mg)
 FROM productsapplied
 JOIN applications 
 ON productsapplied.applicationid = applications.id 
 WHERE productsapplied.area = $area
 AND applications.clubid = $id