SQL / DB2将行连接到一个字段(DB2)中

问题描述 投票:0回答:1

尝试通过内部联接来连接表中的值,是否可以附加示例代码。

如果我删除CM.CMCSNM列,代码将起作用

SELECT trim(CM.CMCSNM), CALLLOGP.CHSTKY, 
SUBSTR(xmlserialize(xmlagg(xmltext(CONCAT( ', ',CALLLOGP.CHORD#))) as 
VARCHAR(1024)), 3) AS Batches
FROM LS3DTA100A.CALLLOGP CALLLOGP inner join LS3DTA100A.CM CM on 
CM.CMSTKY=CALLLOGP.CHSTKY 
WHERE (CALLLOGP.CHOPENBY<>'') 
AND (CALLLOGP.CHCLOSDT=0) 
AND (CALLLOGP.CHACKNDT=0) 
AND (CALLLOGP.CHUPDATE=0) 
AND (CALLLOGP.CHCOMMENTS Like '%FRAME OOS%') 
AND (CALLLOGP.CHSTKY Like '00%') 
GROUP BY CALLLOGP.CHSTKY

错误消息是SQL错误[42803]:[SQL0122]列CMCSNM或SELECT列表中的表达式无效。

db2 db2-400 iseries-navigator
1个回答
0
投票
SQL0122N  A SELECT statement with no GROUP BY clause contains a column
      name or expression and a column function in the SELECT clause, or
      a column name or expression is contained in the SELECT clause but
      not in the GROUP BY clause.

您需要将trim(CM.CMCSNM)包括在GROUP BY中。例如:

GROUP BY trim(CM.CMCSNM), CALLLOGP.CHSTKY
© www.soinside.com 2019 - 2024. All rights reserved.