[ Foro de SQL (y MySQL) ]

Consulta en MySQL

02-Aug-2018 02:28
Martin Della
1 Respuestas

Hola estoy necesitando hacer una consulta en mysql que permita traer información de 2 tablas, por un lado tenemos la tabla usuarios y por cada uno puedo tener 1 o mas teléfonos, para que se entienda expongo ambas tablas serian así:

Tabla Usuarios:

id     Usuario  
--------------------
1      prueba1

Tabla Telefonos

id     idUsuario    Telefono        tipo
----------------------------------------------------------
1          1                123456          laboral
2          1                233223          particular
3          1                221122          laboral

La idea es poder lograr una consulta que me devuelva los datos de la siguiente forma:

id_usuario     usuario     telefono_laboral       telefono_particular
-------------------------------------------------------------------------------------------
       1             prueba1           123456                        233223

El problema que tengo es que pueden existir mas de 1 registro de teléfono ya sea laboral o particular por cada usuario en la tabla teléfonos y al momento de hacer una subconsulta no tengo forma de hacer un limit porque mysql no lo permite.

Espero que se entienda.


11-Aug-2018 13:49
Nacho Cabanes (+36)

Es algo relativamente complejo, que se puede hacer en ciertos pasos con un subquery o con un "case", pero que se complicar especialmente si puede haber varios datos de cada tipo para cada usuario (¿cual es el criterio para elegirlo en ese caso?).

¿No podrías eliminar la complejidad resolviéndolo con PL/SQL o el lenguaje de alto nivel en el que esté hecha la aplicación que accede a esa base de datos?.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)