在尝试解析聚合函数或GROUP BY子句错误时获取重复数据



我想从这个查询中获取相关的APVM.Name数据,但我得到了错误:

">列在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中";

当我将APVM.Name添加到GROUP BY子句时,数据开始失去准确性。如何在没有此错误的情况下获取APVM.Name数据?提前谢谢!

SELECT
bSLHD.SL as [SL],
APVM.Vendor as [Vendor Number],
bSLHD.Job as [Job Number],
JCCM.Department,
APVM.Name
FROM
bSLHD 

INNER JOIN SLCT ON
bSLHD.SL = SLCT.SL
AND
bSLHD.VendorGroup = SLCT.VendorGroup
AND
bSLHD.Vendor = SLCT.Vendor
AND
bSLHD.SLCo = SLCT.SLCo

INNER JOIN APVM ON bSLHD.Vendor = APVM.Vendor
INNER JOIN JCCM ON bSLHD.Job = JCCM.Contract AND bSLHD.JCCo = JCCM.JCCo

WHERE
JCCM.Department = '10'

GROUP BY
bSLHD.SL,
APVM.Vendor,
bSLHD.Job,
JCCM.Department

HAVING
SUM(CASE WHEN SLCT.CompCode = 'LI' THEN 1 ELSE 0 END) = 0
ORDER BY
bSLHD.SL

如果您想在正在进行的层次结构下看到不同的名称,请尝试将APVM.Name替换为Max(APVM.NName(或任何其他聚合。这只是一个变通办法,意味着如果这个输出在名称获取重复方面符合您的要求,它将不会为任何分组聚合服务,只是它将是具有最大名称(主要是不同的(的分组实体的结果

有两家不同公司的不同名称的供应商。一个是我们的生产公司,另一个是测试公司。过滤掉这些值已解决。非常感谢。

最新更新