I have 3 tables:
Persona(IdPersona(PK), NombreYApellido, IdTelefono);
Telefono(IdTelefono(PK), Numero, IdTipoTelefono);
TipoTelefono(IdTipoTelefono(PK), Descripcion);
To relate them I created the table
PersonasTipoTelefono(IdPersonaTipoTelefono(PK), IdPersona, IdTelefono, IdTipoTelefono)
I need to bring all the phones that correspond to each person and I made the following query:
SELECT P.[Nombre y Apellido], T.NumeroTelefono, TT.Descripcion, PTT.*
FROM PersonaTipoTelefono PTT INNER JOIN
Personas P ON PTT.IdPersona = P.IdPersona INNER JOIN
Telefono T ON PTT.IdTelefono = T.IdTelefono AND
P.IdTelefono = T.IdTelefono INNER JOIN
TipoTelefono TT ON PTT.IdTipoTelefono = TT.IdTipoTelefono AND
T.IdTipoTelefono = TT.IdTipoTelefono
The problem is that it only returns a phone number for each person when there are people who have assigned 2 or 3 phone numbers.