Cita: pero en la columna apellido me muestra "NULL". Es más que nada un tema estético,
¿Evitarlo desde la consulta simple?
No. Si te fija en el manual, por definición de la clausula, eso es lo que siempre devuelve en esos casos.
Ahora bien, eso no implica que no puedas manipular la situación: Para eso existe el IFNULL():
Código MySQL:
Ver original prov_nom,
IFNULL(prov_cognoms
, '') prov_cognoms
, SUM( prov_costanual
) total_cost1
FROM proveidors pr
INNER JOIN imputacions imp
ON pr.prov_id
= imp.proveidors_prov_id
WHERE prov_treballador
= 'Trabajador'
Algunos tips:
1) No es necesario usar AS. Es una clausula obsoleta, ya no incluida en el estándar ANSI SQL, y sólo sirve para ensuciar el código.
2) No uses JOINs implícitos (coma), usa JOINs explícitos (INNER JOIN, LEFT JOIN o RIGHT JOIN). Ayudan a la performance, porque el implicito no es optimizable por el parser, y el explicito si.