sql >> Database >  >> RDS >> Oracle

Hoe twee kolommengegevens in A, B-indeling in Oracle op te halen

Tim Hall heeft een behoorlijk canonieke lijst van stringaggregatietechnieken in Oracle.

Welke techniek je gebruikt hangt af van een aantal factoren waaronder de versie van Oracle en of je op zoek bent naar een puur SQL-oplossing. Als u Oracle 11.2 gebruikt, raad ik u waarschijnlijk aan om LISTAGG te gebruiken

SELECT column1, listagg( column2, ',' ) WITHIN GROUP( order by column2 )
  FROM table_name
 GROUP BY column1

Als je een eerdere versie van Oracle gebruikt, ervan uitgaande dat je geen puur SQL-oplossing nodig hebt, zou ik over het algemeen de voorkeur geven aan het gebruik van de door de gebruiker gedefinieerde aggregatiefunctiebenadering.



  1. MYSQLi-fout:gebruiker heeft al meer dan 'max_user_connections' actieve verbindingen

  2. Hoe Joda-Time te gebruiken met java.sql.Timestamp

  3. Oracle Insert via Selecteer uit meerdere tabellen waarbij één tabel mogelijk geen rij heeft

  4. Hoe dubbelzinnige kolomnamen op te lossen bij het ophalen van resultaten?