sql >> Databasteknik >  >> RDS >> Oracle

Oracle:union alla fråga 1 och fråga 2 vill minus några rader om fråga 1 har raddata

Som det är nu måste du först dela upp namn (och telefoner) i rader och sedan använda uppsättningsoperatörer (UNION , MINUS ) till en sådan data.

Vilket betyder att du inte ska använda WM_CONCAT alls; åtminstone inte i början, eftersom

  • först sammanfogar du data
  • då måste du dela upp den i rader igen
  • UNION / MINUS set

Gör ett värdelöst jobb i de första 2 stegen.

Jag skulle föreslå att du UNION / MINUS data först, sedan aggregera dem med WM_CONCAT . Förresten, vilken databasversion använder du? WM_CONCAT är a) odokumenterad, b) finns inte ens i de senaste Oracle-databasversionerna så du byter hellre till LISTAGG , om möjligt.




  1. Kom ihåg RAC-instanser i Perf Tools

  2. Entity Framework + MySQL - Varför är prestandan så hemsk?

  3. INSERT INTO misslyckas med node-mysql

  4. SQL Group By - räkna poster per månad/år, fel vid infogning - INTE EN GILTIG MÅNAD