Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle:union toutes les requêtes 1 et 2 veulent moins certaines lignes si la requête 1 a des données de ligne

Dans l'état actuel des choses, vous devrez d'abord diviser les noms (et les téléphones) en lignes, puis appliquer les opérateurs d'ensemble (UNION , MINUS ) à une telle donnée.

Ce qui signifie que vous ne devez pas utiliser WM_CONCAT du tout; du moins, pas au début, car

  • vous devez d'abord concaténer les données
  • vous devrez ensuite le diviser en lignes
  • UNION / MINUS ensembles

Faire un travail inutile dans les 2 premières étapes.

Je vous suggère de UNION / MINUS les données d'abord, puis agrégez-les en utilisant WM_CONCAT . Au fait, quelle version de la base de données utilisez-vous ? WM_CONCAT est a) non documenté, b) n'existe même pas dans les dernières versions de la base de données Oracle, vous préférez donc passer à LISTAGG , si possible.