网上查了只是说WM_CONCAT()函数和group by、 distinct、union关键字联合使用时,会有这个问题。其实我联合使用并没有报错
如下SQL:
SELECT SUM(Rc) Rc, SUM(Je) Je, Projectid, Wm_Concat(Bankname) Banknames
FROM (SELECT t.*, b.Bankname FROM Tb_Da_c_Yapcdbank t LEFT JOIN Tb_Dim_Bank b ON t.Bankid = b.Bankid) c
GROUP BY Projectid
报错是我联合其他的SQL同时使用类似如下SQL:
WITH Da AS
(SELECT SUM(Rc) Rc, SUM(Je) Je, Projectid, Wm_Concat(Bankname) Banknames
FROM (SELECT t.*, b.Bankname FROM Tb_Da_c_Yapcdbank t LEFT JOIN Tb_Dim_Bank b ON t.Bankid = b.Bankid) c
GROUP BY Projectid),
Aa AS
(SELECT a.Projectid,
a.Name,
da.Rc,
da.Je,
da.Banknames
FROM Tb_table t
LEFT JOIN da
ON da.Projectid = t.Projectid)
SELECT * FROM Aa;
解决方案
1、(来自于百度)把wm_concat(字段)换成listagg(字段)within group(order by(字段))
2、直接在查询的