kingbase 實現多行轉一行

默認情況下金倉數據庫中沒有array_agg()函數,因此需要自己創建。

創建SQL爲:

--金倉默認沒有該函數
CREATE AGGREGATE array_agg(anyelement)
(
sfunc = array_append, -- 每行的操作函數,將本行append到數組裏
stype = anyarray, -- 聚集後返回數組類型
initcond = '{}' -- 初始化空數組
);

array_to_string該函數是自帶的,可直接使用。

組合使用示例如下:

SELECT a.id, a.db_name, array_to_string(array_agg(b.username), ',') FROM tbl_company a, tbl_user b WHERE a.id = b.company_id group by a.id 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章