Na sua consulta;
SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?
...o
WHERE
cláusula com uma condição na tabela mais à direita removerá todas as linhas onde a tabela mais à direita não tem valor, negando o LEFT JOIN
. O que você provavelmente quer é adicionar a condição ao
LEFT JOIN
's ON
cláusula em vez disso, permitindo os valores vazios de phone
ainda aparecer; SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
AND phone.peopleID = ?