En lösning som liknar den av Patrick Hofman är att flytta logiken i HAVING
klausul
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
Det första villkoret returnerar lastbilen med endast två distinkta platser, utan att kontrollera deras värden, det andra villkoret tvingar dessa platser att vara 1 och 2