Uma solução semelhante à de Patrick Hofman é mover a lógica no
HAVING
cláusula 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
A primeira condição devolve o caminhão com apenas duas localizações distintas, não verificando seus valores, a segunda condição força essas localizações a serem 1 e 2