想知道你是否可以帮助我解决这个问题。
我们有一个名为Part_Locations
的表。此表包含Part_ID
,Location ID
和QTY
。
我创建了一个效果很好的Parts By Location
报告,但现在用户想知道该部分的总数是多少。
我试过了:
SELECT part_id,qty, SUM(qty)
FROM part_location
GROUP BY part_id
但是回归:
Msg 8120, Level 16, State 1, Line 1
Column 'part_location.QTY' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY clause.
当我尝试:
SELECT part_id, SUM(qty)
FROM part_location
GROUP BY part_id
我得到QTY
总和,但后来我失去了每个位置有多少部分的可见性。
我想要实现的目标:
答案 0 :(得分:1)
您可以添加此窗口功能以选择部分查询
SUM(qty) OVER(PARTITION BY part_id) SumQty
像这样;
SELECT
part_id,
qty,
SUM(qty) OVER(PARTITION BY part_id) SumQty
FROM part_location
答案 1 :(得分:0)
您不想要汇总查询。您想使用窗口函数:
var input = "https://www.example.com?budget=0-&year=0-&kms=0-&so=-1&sc=-1&pn=1";
var url = input.replace('?', '');
var removeFilterSet = {"so" : true,"kms" : true,"pn" : true};
var params = url.split("&");
for(var i = params.length ; i-- > 0 ; )
{
if(removeFilterSet[params[i].split("=")[0]])
{
params.splice(i,1);
}
}
alert(params.join("&"));
答案 2 :(得分:0)
我认为此查询的主要概念问题是您在返回的结果集中混合了qty
和SUM(qty)
。删除qty
,你应该没问题
答案 3 :(得分:0)
尝试这样:
SELECT
pl.part_id,
pl.qty,
(SELECT SUM(p.qty) FROM part_location p WHERE p.part_id = pl.part_id)
FROM part_location pl