我想在DB2中使用group by function创建一个视图。不确定SQL语句是否能够创建这样的视图。
数据:
TableId department item
1 dept1 item1
2 dept2 item1
3 dept1 item1
4 dept2 item1
查看输出:
department item id
dept1 item1 1,3
dept2 item1 2,4
我能够创建一个按部门和项目分组的视图,但不确定如何在视图中组合表格。
寻求建议。
非常感谢提前。
答案 0 :(得分:0)
你可以用LISTAGG功能做到这一点。请查看本文以了解如何使用它:https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/listagg?lang=en
select department, listagg(TableId, ',') within group (order by TableId) as id
from YourTable
group by department;
有关详细信息:http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0058709.html
您还可以使用XMLCast + XMLGroup:https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/aggregating_strings42?lang=en