sql >> Base de Datos >  >> RDS >> Oracle

Consulta en Oracle para seleccionar con subconsulta

Solo necesita una acción distinta dentro de un día. Por lo tanto, use HAVING para contar claramente dos acciones individuales AGRUPADAS POR vuelo y día:

SELECT flight
  FROM test
 WHERE action in ('Departure','Arrival')
 GROUP BY flight, trunc("date")
HAVING COUNT(distinct action)=2

donde debería haber distinct cláusula, se observa la necesidad si el conjunto de datos de muestra se amplía

Demostración

  • date es una palabra clave reservada y no se puede utilizar como nombre de columna para la base de datos de Oracle. Entonces, preferí "date"
  • Prefije los literales de tiempo con timestamp palabra clave y agregar parte :00 al final para representar second como timestamp'2020-02-21 04:30:00' durante la inserción