Home > database >  Montana SQL problem for help, try so hard, thank you.
Montana SQL problem for help, try so hard, thank you.

Time:09-29

Oracle database, want to use a retrieve SQL realize picture said want as a result, the best write detailed, grateful for the

CodePudding user response:

Simple line conversion..
 with t1 as 
(select 'groupid1 as group_id, 9999 as seach_code from dual union all
Select 'groupid2 as group_id, 9999 as seach_code from dual union all
Select 'groupid3 as group_id, 9999 as seach_code from dual),
T2 as
(select as group_id 'groupid1', 'groupkey11 as group_key from dual union all
Select 'groupid1 as group_id,' groupkey12 as group_key from dual union all
Select 'groupid1 as group_id,' groupkey13 as group_key from dual union all
Select 'groupid1 as group_id,' groupkey14 as group_key from dual union all
Select 'groupid2 as group_id,' groupkey21 as group_key from dual union all
Select 'groupid2 as group_id,' groupkey22 as group_key from dual union all
Select 'groupid3 as group_id,' groupkey31 as group_key from dual),
T3 as
(select 'groupkey11 as group_key, con1' a1 ', 'b1 con2,' c1 'con3,' d1 con4, 'e1 con5 from dual union all
Select 'groupkey12 as group_key,' a2 'con1, con2' b2 ', 'con3,' con4, 'con5 from dual union all
Select 'groupkey13 as group_key,' a3 'con1,' b3 con2, 'c3' con3, 'd3 con4,' con5 from dual union all
Select 'groupkey14 as group_key,' a4 con1, 'con2,' con3, 'con4,' con5 from dual union all
Select 'groupkey21 as group_key,' the a5 con1, con2 'b5', 'c5' con3, 'con4,' con5 from dual union all
Select 'groupkey22 as group_key,' a6 con1, 'con2,' con3, 'con4,' con5 from dual union all
Select 'groupkey31 as group_key,' a7 con1, 'b7 con2,' con3, 'con4,' con5 from dual)
SELECT GROUP_ID, MAX (DECODE (RN), 1, CON)) condition 1, MAX (DECODE (RN), 2, CON)) condition 2,
MAX (DECODE (RN), 3, CON)) condition 3
The FROM (SELECT al-qeada ROUP_ID, A.R N,
The RTRIM (REGEXP_REPLACE (T3) CON1 | | ', '| | T3. The CON2 | |', '| |
T3. CON3 | | ', '| | T3. CON4 | |', '| |
T3 CON5, '[and] +', ', '), ', ') AS CON
The FROM (SELECT T1 GROUP_ID, T2 GROUP_KEY,
ROW_NUMBER () OVER (PARTITION BY T1. GROUP_ID ORDER BY T2. GROUP_KEY) RN
The FROM T1
LEFT the JOIN T2
ON T2. GROUP_ID=T1. GROUP_ID) A
LEFT the JOIN T3
ON T3. GROUP_KEY=al-qeada ROUP_KEY
WHERE A.R N & lt;
=3)GROUP BY GROUP_ID
  • Related