Esta é a sua consulta:
SELECT c.*, COUNT(d.servername) as servercount, d.controller
FROM customers C JOIN
customerdata d
ON c.id = d.customer
WHERE isVdi = :isVdi AND d.controller = :controller
GROUP BY d.customer
ORDER BY c.name ASC, c.environment ASC;
Infelizmente, qualquer coisa
= NULL
nunca vai retornar true. Ainda mais infelizmente, o MySQL não suporta o padrão ANSI NULL
-safe comparador is not distinct from
. Mas felizmente tem uma alternativa. Você pode tentar isso:SELECT c.*, COUNT(d.servername) as servercount, d.controller
FROM customers C JOIN
customerdata d
ON c.id = d.customer
WHERE isVdi = :isVdi AND
d.controller <=> :controller
GROUP BY d.customer
ORDER BY c.name ASC, c.environment ASC;