Solusi yang mirip dengan Patrick Hofman adalah memindahkan logika di HAVING
klausa
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
Kondisi pertama mengembalikan truk dengan hanya dua lokasi berbeda, tidak memeriksa nilainya, kondisi kedua memaksa lokasi tersebut menjadi 1 dan 2