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

Oracle:union tutte le query 1 e le query 2 vogliono meno alcune righe se la query 1 ha rowdata

Così com'è ora, dovrai prima dividere i nomi (e i telefoni) in righe, quindi applicare gli operatori di insiemi (UNION , MINUS ) a tali dati.

Ciò significa che non dovresti usare WM_CONCAT affatto; almeno, non all'inizio, perché

  • prima concateni i dati
  • quindi dovresti dividerlo di nuovo in righe
  • UNION / MINUS set

Fare un lavoro inutile nei primi 2 passaggi.

Ti suggerisco di UNION / MINUS prima i dati, poi aggregali usando WM_CONCAT . A proposito, quale versione del database usi? WM_CONCAT è a) non documentato, b) non esiste nemmeno nelle ultime versioni del database Oracle, quindi preferisci passare a LISTAGG , se possibile.