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

Interroga in Oracle per selezionare con sottoquery

Hai solo bisogno di un'azione distinta entro un giorno. Quindi, usa HAVING contare distintamente di due singole azioni RAGGRUPPATE PER volo e giorno :

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

dove dovrebbe esserci distinct clausola, la necessità è rispettata se il set di dati campione viene esteso

Demo

  • date è una parola chiave riservata e non può essere utilizzata come nome di colonna per il database Oracle. Quindi, ho preferito "date"
  • Prefissare i valori temporali con timestamp parola chiave e aggiungi la porzione :00 alla fine per rappresentare second come timestamp'2020-02-21 04:30:00' durante l'inserimento