• Viernes 8 de Noviembre de 2024, 11:40

Autor Tema:  Obtener datos de varios registros en una misma línea  (Leído 12129 veces)

cyberexplorador

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Obtener datos de varios registros en una misma línea
« en: Miércoles 19 de Enero de 2011, 22:09 »
0
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.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

fonsi3

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Obtener datos de varios registros en una misma línea
« Respuesta #2 en: Viernes 21 de Enero de 2011, 03:10 »
0
Aqui ta chamigo, debes usar la maravillosa funcion GROUP_CONCAT()

Código: SQL
  1. SELECT
  2.     ced.name
  3.     , ced.id
  4.     , GROUP_CONCAT( tel.id )
  5. FROM
  6.     ced
  7.     INNER JOIN  tel
  8.         ON tel.ced_id = ced.id
  9. GROUP BY
  10.     ced.id
  11.  

Un consejo suponiendo que el numero de cedula es unico no hay necesidad que la tabla cedula tenga una columna id.
Cha che chi cho chu buenichimo!
http://mensoscripts.com

Links de interes: HTML | CCS2~CSS* | PHP
Indispensables tools]Firebug[/url] | Web Developer | FireFTP | Live Headers