Estaba hurgando en la consulta, tratando de encontrar por qué no me da el mismo resultado. Bien: he eliminado columnas de ambas y descubierto una cosa.
Si pongo así el query:
Código PHP:
SELECT DISTINCT A.Codigo... etc.
pero sin eliiminar ninguna de las condiciones de la misma me devuelve las 55 filas que debe. Pero si pongo:
Código PHP:
SELECT DISTINCT COUNT(A.Codigo)... etc.
entonces me devuelve 412 en ese COUNT.
Dicho esto, acabo de descubrir que DISTINCT puede meterse dentro del COUNT y yo estaba convencido que no; es decir:
Código PHP:
SELECT COUNT(DISTINCT A.Codigo)... etc.
Cada día se aprende algo nuevo.