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;