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

sélectionner uniquement et uniquement un enregistrement spécifique dans Oracle

Une solution similaire à celle de Patrick Hofman est de déplacer la logique dans le HAVING clause

SELECT truck
FROM   table
GROUP BY truck
HAVING COUNT(DISTINCT location) = 2
   AND SUM(CASE WHEN location IN (1, 2) THEN 0 ELSE 1 END) = 0

La première condition renvoie le camion avec seulement deux emplacements distincts, sans vérifier leurs valeurs, la deuxième condition force ces emplacements à être 1 et 2