sql >> Database >  >> RDS >> Oracle

Oracle SELECT QUERY voor een-op-veel relatie tussen twee tabellen

Eén methode maakt gebruik van voorwaardelijke aggregatie:

select t1.PERSON_ID, t1.FIRST_NAME, t1.MIDDLE_NAME, t1.LAST_NAME, 
       max(case when t2.phone_type = 'BUSINESS' then t2.PHONE_NUMBER end) as business,
       max(case when t2.phone_type = 'PERSONAL' then t2.PHONE_NUMBER end) as personal,
       max(case when t2.phone_type = 'HOME' then t2.PHONE_NUMBER end) as home
from Table1 t1 inner join
     Table2 t2
     on t2.PERSON_ID = t1.PERSON_ID
where t2.PHONE_TYPE in ('BUSINESS', 'PERSONAL', 'HOME') 
group by t1.PERSON_ID, t1.FIRST_NAME, t1.MIDDLE_NAME, t1.LAST_NAME;


  1. Veilige methode voor het opslaan/ophalen van een PGP-privésleutel en wachtwoordzin?

  2. Waarschuwing:een lange semafoor wachten

  3. Het beste om * te gebruiken bij het aanroepen van veel velden in mysql?

  4. Is het gegevenstype 'MONEY' van SQL Server een decimaal zwevend punt of een binair zwevend punt?