SoloCodigo
Bases de Datos => MySQL => Mensaje iniciado por: cyberexplorador en Miércoles 19 de Enero de 2011, 22:09
-
Hola amigos me podrían ayudar con un problema que tengo. Tengo dos tablas en primera forma normal con las siguientes estructuras:
Tabla PERSONA con campos codigo(PK), nombre, cedula:
CODIGO PERSONA CEDULA
1 Ana 1717
2 Pedro 1718
Y la tabla TELEFONO con los campos codigo_num(PK), numero, tipo, cod_persona(FK)
CODIGO_NUM NUMERO TIPO COD_PERSONA
1 8887777 casa 1
2 9997777 oficina 1
3 6667777 movil 1
4 5554444 casa 2
5 2220000 oficina 2
Amabas tablas están relacionadas por el código de la persona, lo que necesito es obtener una consulta con los siguientes datos:
PERSONA NUMERO CEDULA
Ana 8887777 9997777 6667777 1717
Pedro 5554444 2220000 1718
Porque al hacer una consulta normal lo que devuelve el programa sería:
PERSONA NUMERO CEDULA
Ana 8887777 1717
Ana 9997777 1717
Ana 6667777 1717
Pedro 5554444 1718
Pedro 2220000 1718
Pero eso no es lo que se necesita sino que los teléfonos aparezcan en las misma línea de consulta.
Espero que me hayan entendido. Espero que me puedan ayudar.
-
Investiga sobre JOINs
mira esta paginas
http://boozox.net/mysql/explicacion-vis ... s-con-sql/ (http://boozox.net/mysql/explicacion-visual-de-los-sql-join-unir-tablas-con-sql/" onclick="window.open(this.href);return false;)
Otras:
http://sqltutorials.blogspot.com/2007/0 ... -join.html (http://sqltutorials.blogspot.com/2007/05/sql-inner-join-left-join-and-right-join.html" onclick="window.open(this.href);return false;)
http://es.wikipedia.org/wiki/Join#Combi ... ER_JOIN.29 (http://es.wikipedia.org/wiki/Join#Combinaci.C3.B3n_interna_.28INNER_JOIN.29" onclick="window.open(this.href);return false;)
Saludos
-
Aqui ta chamigo, debes usar la maravillosa funcion GROUP_CONCAT()
SELECT
ced.name
, ced.id
, GROUP_CONCAT( tel.id )
FROM
ced
INNER JOIN tel
ON tel.ced_id = ced.id
GROUP BY
ced.id
Un consejo suponiendo que el numero de cedula es unico no hay necesidad que la tabla cedula tenga una columna id.