sql >> Database >  >> RDS >> PostgreSQL

Oracle SQL Select converteren naar PostgreSQL select

Hier is uw vraag opnieuw geschreven met behulp van de ANSI-92 JOIN-syntaxis:

  SELECT a.abx_apo_number,
         COUNT(ap1.process_mode) AS NUM_PLANNING,
         COUNT(ap2.process_mode) AS NUM_SETUP,
         COUNT(ap3.process_mode) AS NUM_OUTPUT
     FROM ABX a
LEFT JOIN USER_INSTANCE u ON u.abx_apo_number = a.abx_apo_number
LEFT JOIN ACTIVE_PROCESS ap1 ON ap1.process_instance_number = u.instance_number
                            AND ap1.process_mode = 'PLANNING'
LEFT JOIN ACTIVE_PROCESS ap2 ON ap2.process_instance_number = u.instance_number
                            AND ap2.process_mode = 'SETUP'
LEFT JOIN ACTIVE_PROCESS ap3 ON ap3.process_instance_number = u.instance_number
                            AND ap3.process_mode = 'OUTPUT'
 GROUP BY a.abx_apo_number

De (+) is Oracle-specifieke LEFT OUTER JOIN-syntaxis. Om het te verwijderen, zou elke USER_INSTANCE.instance_number zou waarden moeten hebben voor de procesmodi die alle drie zijn:PLANNING, SETUP en OUTPUT - laat er één weg, en het abx_apo_number zou niet worden weergegeven in de uitvoer.



  1. Is het mogelijk om retour in opgeslagen procedure te gebruiken?

  2. kan niet controleren of gebruikersnaam bestaat of niet

  3. Kies uit alle tabellen

  4. Kalender in Zend Framework