Votre SQL est correct pour ce que vous voulez faire. Slick produit probablement une requête comme celle-ci :
SELECT device.*, COUNT(device.id)
-----------------------^
FROM device LEFT JOIN
unit
ON device.id = unit.device_id
GROUP BY device.id;
Peut-être existe-t-il un moyen de le faire compter device_id
, qui est sans ambiguïté de unit
.