我想从这个查询中获取相关的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(或任何其他聚合。这只是一个变通办法,意味着如果这个输出在名称获取重复方面符合您的要求,它将不会为任何分组聚合服务,只是它将是具有最大名称(主要是不同的(的分组实体的结果
有两家不同公司的不同名称的供应商。一个是我们的生产公司,另一个是测试公司。过滤掉这些值已解决。非常感谢。