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

Oracle:union alle forespørgsel 1 og forespørgsel 2 ønsker at minus nogle rækker, hvis forespørgsel 1 har rækkedata

Som det er nu, skal du først opdele navne (og telefoner) i rækker og derefter anvende sæt operatører (UNION , MINUS ) til sådanne data.

Hvilket betyder, at du ikke bør bruge WM_CONCAT overhovedet; i hvert fald ikke i begyndelsen, fordi

  • først sammenkæder du data
  • så bliver du nødt til at dele den op i rækker igen
  • UNION / MINUS sæt

Gør et ubrugeligt stykke arbejde i de første 2 trin.

Jeg vil foreslå dig at UNION / MINUS data først, derefter samle dem ved hjælp af WM_CONCAT . Forresten, hvilken databaseversion bruger du? WM_CONCAT er a) udokumenteret, b) eksisterer ikke engang i de seneste Oracle-databaseversioner, så du vil hellere skifte til LISTAGG , hvis det er muligt.




  1. for sløjfe inde i et markørorakel

  2. MySQL MyISAM slow count()-forespørgsel trods dækkende indeks

  3. Hvordan dropper man alle brugertabeller?

  4. Dvale:Udpeg en kolonne, der indeholder binære data, som ikke skal indlæses