sql >> Database >  >> RDS >> Oracle

Meerdere rijen samenvoegen tot één rij zonder aggregatie [Oracle]

Als u weet dat u drie kolommen heeft, som ze dan op en aggregeer ze:

select max(case when seqnum = 1 then type end) as type1,
       max(case when seqnum = 1 then date end) as date1,
       max(case when seqnum = 1 then amount end) as amount1,
       max(case when seqnum = 2 then type end) as type2,
       max(case when seqnum = 2 then date end) as date2,
       max(case when seqnum = 2 then amount end) as amount2,
       max(case when seqnum = 3 then type end) as type3,
       max(case when seqnum = 3 then date end) as date3,
       max(case when seqnum = 3 then amount end) as amount3       
from (select t.*, rownum as seqnum
      from t
     ) t;

Als u niet weet hoeveel kolommen worden geretourneerd, moet u dynamische SQL gebruiken (execute immediate ).




  1. Hoe DDL te genereren voor alle tabellen in een database in MySQL

  2. mysqli_real_escape_string en dubbele aanhalingstekens probleem

  3. MySQL - Bepaal welke rij door een groep wordt geretourneerd door

  4. Een karakter verwijderen van een bepaalde positie op Oracle