在TOAD数据点中将两行分组为一

时间:2019-04-18 20:23:55

标签: sql oracle toad toad-data-point

我当前的结果集如下:

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数据点的新手。

1 个答案:

答案 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 功能;我知道其中一些人。