Check online just say that when the WM_CONCAT () function and group by, differentinct, and union keywords are combined, there will be this problem. Actually, I have no error in use
as follows 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
The error is that I use other SQLs to use the following SQL at the same time:
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;
solution
1, (from Baidu) to replace WM_CONCAT (field) with listagg (field) within group (order by (field))
2, to turn the BankNames field to to_char during the query, and finally 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,
to_char(da.Banknames)Banknames
FROM Tb_table t
LEFT JOIN da
ON da.Projectid = t.Projectid)
SELECT * FROM Aa;
Now it’s okay