mysql - 通过比较两个表获得总和

标签 mysql

我必须表 ProdBiscuit As tb 和 StockData As sd ,我必须获得 StockData (quantite) 中的数量总和,条件为 if (sd.status>0 AND sd.prodid = tb.id AND sd .matcuisine = 3)

这是我的sql查询

 SELECT tb.id, tb.nom, tb.proddate, tb.qty, tb.stockrecno 
 FROM ProdBiscuit AS tb
 JOIN 

(SELECT id, prodid, matcuisine, status, SUM(quantite) AS rq FROM StockData) AS sd
 ON (tb.id = sd.prodid AND sd.status > 0 AND sd.matcuisine = 3) LIMIT 25 OFFSET @Myid

这根本没有给我任何行?

ProdBiscuit 中只有 3 行,Stockdata 中只有 11 行,StockData 中只有 2 行符合条件。

如图所示,只有两行给出了条件。

Image of two tables

我的查询有什么问题?

PS:图像上的绿线显示了我查询中的条件。

最佳答案

请检查一下。如果您没有获得想要的结果,请访问 SQLFiddle.com 并创建包含数据的示例表,以便更轻松地找出您想要的结果。

SELECT tb.id, tb.nom, tb.proddate, tb.qty, tb.stockrecno, SUM(sd.quanite)
FROM ProdBiscuit AS tb
JOIN StockData AS sd
  ON tb.id = sd.prodid
WHERE sd.status > 0 AND sd.matcuisine = 3
GROUP BY tb.id, tb.nom, tb.proddate, tb.qty, tb.stockrecno

关于mysql - 通过比较两个表获得总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19916680/

相关文章:

php - 如何使用 PHP 和 MySQL 显示按归档分组的报告?

php - 验证并突出显示错误

php - 如果在使用 php 的 2 个 mysql 查询中的复选框

MySQL:我的教授想要一个没有主键的表

php - 如何对数据库查询中的所有对话(消息)进行分组

mysql - 没有约束的 MySQL 外键只是一个 int 吗?

php - IIS + PHP - 无法使用旧身份验证连接到 MySQL 4.1+

mysql - 如何合并两个数据库,具有相同的数据,但具有不同的主键,并且没有重复的字段?

mysql - 磁盘空间不足 : will my live application mysql database be corrupted?

c++ - Visual C++ 如何在 MySql 中查找列的名称