Sql select子句中位置16“D_INS_COMPANY.ORDER_BY”处的错误行1既不是聚合,也不在group BY子句中
给定的代码是select查询和省略的join select。。。在SSAS中Sql select子句中位置16“D_INS_COMPANY.ORDER_BY”处的错误行1既不是聚合,也不在group BY子句中,sql,ssas,Sql,Ssas,给定的代码是select查询和省略的join select。。。在SSAS中 SELECT D_INS_COMPANY.INS_COMPANY_KEY, CASE WHEN D_INS_COMPANY.INS_COMPANY_DESC = '-3' THEN 'NOT_APPLICABLE' ELSE D_INS_COMPANY.INS_COMPANY_DESC END AS INS_COMPANY_DESC, D_INS_COMPANY.INS_COMPN
SELECT D_INS_COMPANY.INS_COMPANY_KEY,
CASE
WHEN D_INS_COMPANY.INS_COMPANY_DESC = '-3'
THEN 'NOT_APPLICABLE'
ELSE D_INS_COMPANY.INS_COMPANY_DESC
END AS INS_COMPANY_DESC,
D_INS_COMPANY.INS_COMPNAY_GROUP_DESC AS INS_COMPANY_GROUP_DESC,
COALESCE(PRIOR_INS_COMPANY_GROUP,INS_COMPNAY_GROUP_DESC)
AS PRIOR_INS_COMPANY_GROUP,
D_INS_COMPANY.ORDER_BY,
D_INS_COMPANY.ORDER_BY_GROUP
FROM D_INS_COMPANY
LEFT JOIN
(SELECT TRIM(UPPER(INS_COMPANY_SNL_DESC)) AS INS_COMPANY_SNL_DESC ,
MIN( PRIOR_INS_COMPANY_GROUP) AS PRIOR_INS_COMPANY_GROUP
FROM LKP_INS_CARRIER
WHERE TRIM(INS_COMPANY_SNL_DESC) IS NOT NULL
GROUP BY 1
) LC
ON (LC.INS_COMPANY_SNL_DESC = TRIM(UPPER(D_INS_COMPANY.INS_COMPANY_DESC)));
获取此错误:
SQL编译错误:错误行1位于位置16
select子句中的“D_INS_COMPANY.ORDER_BY”既不是聚合,也不在group BY子句中
有人能帮我吗?谢谢您的问题在于下面的代码块:
SELECT TRIM(UPPER(INS_COMPANY_SNL_DESC)) AS INS_COMPANY_SNL_DESC ,
MIN( PRIOR_INS_COMPANY_GROUP) AS PRIOR_INS_COMPANY_GROUP
FROM LKP_INS_CARRIER
WHERE TRIM(INS_COMPANY_SNL_DESC) IS NOT NULL
GROUP BY 1
这里有两个问题。首先,虽然您可以按1订购,但不能按1分组。第二个是返回两个字段,只按一个字段分组。group by中未使用的任何字段都必须是某种类型的聚合。Just Guardy=group by 1不需要?我刚刚在SQL Server 2017中尝试了您的查询,它运行良好。请看,我已尝试从LKP INSU承运人中选择Trimpersins_COMPANY_SNL_DESC作为INS_COMPANY_DESC,MIN Previor_INS_COMPANY_GROUP作为Previor_INS_COMPANY_GROUP,其中Trimpersins_SNL_DESC不是空的Trimpersins_COMPANY_SNL_DESC,Previor_INS_COMPANY_GROUP或从LKP_CARRIER中选择Trimpersins_COMPANY_SNL_DESC作为Previor_COMPANY_DESC,MIN Previor_INS_COMPANY_GROUP作为Previor_COMPANY_GROUP作为Previor_INS_COMPANY_DESC,其中Trimpersins_COMPANY_SNL_DESC不是空的Trimpersion BY Trimpersins_COMPANY_DESC不工作请您发表意见,我的公司使用的是2010版,有没有什么方法可以取代左键选择…?我认为这是不准确的。你可以按第一列进行分组,但我认为必须如实提及。请参阅SQL小提琴。感谢您的回复。我已经尝试过这个查询,从LKP INS_承运人中选择Trimpersins_COMPANY_SNL_DESC作为INS_COMPANY_DESC,MIN Previor INS_COMPANY_GROUP作为Previor INS_COMPANY_GROUP作为LKP INS_CARRIER的Previor INS_COMPANY_GROUP,其中Trimpersins_COMPANY_SNL_DESC不是空的,Previor INS_COMPANY_集团仍然给出相同的结果error@TheImpaler不总是,对于某些版本和风格的SQL,操作顺序使得SQL不知道分组依据之前的字段列表。ie SQL 2008操作顺序为FROM、WHERE、groupby、have、SELECT、order BY,因此groupby 1将不起作用。