【发布时间】:2016-02-23 23:30:52
【问题描述】:
我正在尝试添加多行以将它们组合成按文章编号和订购数量排列的较小行
假设我有这样的东西
LigneCommande
|noArticle|quantity
|10 |100
|10 |0
|10 |0
|20 |20
|20 |20
|20 |20
文章
|noArticle|Description
|10 |potato
|20 |banana
|30 |ham
预期结果:
|noArticle|totalquantity
|10 |100
|20 |60
我的结果:
|noArticle|totalquantity
|10 |160
|20 |160
最后 1 想要 2 行,其中 1 是商品编号,2 是总数量,所以应该是 10 ; 100 和 20 ;60
现在我有这样的东西
SELECT Article.noArticle, SUM (quantity) AS TOTALQUANTITY
FROM LigneCommande, Article
GROUP BY Article.noArticle
ORDER BY Article.noArticle
问题是它对所有数量求和并以 20;160 和 10;160 结尾
我可能遗漏了一个 OVER 函数或者有些东西无法弄明白
编辑:好吧,让我澄清一下,我有 2 个表,其中一个在这个名为 LigneCommande 的表中有文章编号和数量,只有数量高于 0 的文章才会出现。我有另一个名为 Article 的表,即使没有数量,它也有所有的货号。最后,我想要 Article 中的所有文章编号和 Ligne 命令中的所有数量,将这两个组合在一起的键是 noArticle(如果我不清楚,英语不是我的第一语言对不起)
【问题讨论】:
-
您真的打算在 LigneCommande 表和 Article 表之间进行笛卡尔连接吗?这似乎极不可能。您是在向我们展示
Article表中的数据吗?如果是这样,你为什么要加入LigneCommande?