sql >> Database teknologi >  >> RDS >> Oracle

Sådan konverteres rækker til kolonner i Oracle SQL

Hvis du er OK med sammenkædet liste , og brug derefter LISTAGG som blev introduceret i Oracle 11g Release 2 .

SELECT weekday, LISTAGG(Sched_hrs, ',') WITHIN GROUP (ORDER BY weekday) AS Sched_hrs
FROM   table 
 WHERE emplid = '12345' AND weekday_name= 1
GROUP BY weekday;

For eksempel

SQL> column employees format a50
SQL> SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
  2  FROM   emp
  3  GROUP BY deptno;

    DEPTNO EMPLOYEES
---------- --------------------------------------------------
        10 CLARK,KING,MILLER
        20 ADAMS,FORD,JONES,SCOTT,SMITH
        30 ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARD

SQL>


  1. Forbedring af ydeevnen af ​​ORDER BY på jsonb cross join med indre joingruppe af

  2. Bedste praksis for et mysql-dataversioneringssystem

  3. Jeg skal skrive en meget interessant forespørgsel, som beregner nulværdier og rækker med værdier

  4. Er COUNT(rowid) hurtigere end COUNT(*)?