我当前的结果集如下:
Case_ID | Action_name | Status_code
1 John Valid
1 Peter Valid
我希望这是
Case_ID | Action_name | Status_Code
1 John, Peter Valid
或者也可以显示为
Case_ID | Action_name1 | Action_name2 | Status_code
1 John peter Valid
任何可能的信息都将非常有帮助。我尝试了Pivot函数,但由于某些原因,我无法正确使用它。我知道我们可以在SQL Server中做到这一点,但是我是TOAD数据点的新手。
答案 0 :(得分:0)
您未指定要使用的数据库。如果是Oracle,则LISTAGG函数可能会有所帮助:
SQL> -- This is your current output:
SQL> with test (case_id, action_name, status_Code) as
2 (select 1, 'John', 'valid' from dual union all
3 select 1, 'Peter', 'valid' from dual
4 )
5 -- Adjust it using this:
6 select
7 case_id,
8 listagg(action_name, ', ') within group (order by action_name) action_name,
9 status_code
10 from test
11 group by case_id, status_code;
CASE_ID ACTION_NAME STATU
---------- ------------------------------ -----
1 John, Peter valid
SQL>
否则,请查看您的数据库是否提供了这样的 aggregation 功能;我知道其中一些人。