Вашият SQL е правилен за това, което искате да направите. Slick вероятно произвежда заявка като тази:
SELECT device.*, COUNT(device.id)
-----------------------^
FROM device LEFT JOIN
unit
ON device.id = unit.device_id
GROUP BY device.id;
Може би има начин да го накарате да отчита device_id
, което недвусмислено е от unit
.