Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda consulta sql

Estas en el tema de Duda consulta sql en el foro de Mysql en Foros del Web. Hola tengo una tabla con los siguientes campos: CodDept, Nombre, Cod_Dept_Padre 11, Marketing, NULL 12, Compras, 11 13, Ventas, 11 ...... Necesito recuperar el nombre ...
  #1 (permalink)  
Antiguo 27/07/2012, 05:08
 
Fecha de Ingreso: mayo-2007
Mensajes: 44
Antigüedad: 17 años
Puntos: 0
Duda consulta sql

Hola tengo una tabla con los siguientes campos:

CodDept, Nombre, Cod_Dept_Padre

11, Marketing, NULL
12, Compras, 11
13, Ventas, 11
......

Necesito recuperar el nombre del departamento y del que depende

ej. Compras depende de Marketing

SELECT `Nombre`
FROM `departamento`
WHERE `Cod_Dept_Padre`
IN ( SELECT `CodDept`
FROM `departamento`
)


Esto me devuelve solo el nombre de los departamentos padre.


Alguna idea???

Gracias y Salu2
  #2 (permalink)  
Antiguo 27/07/2012, 05:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda consulta sql

Si solo tienes un nivel de dependencia (si solo hay padres e hijos y no hay nietos)

Código MySQL:
Ver original
  1. SELECT d.nombre as depto,  dp.nombre as Depende
  2. FROM departamento d LEFT JOIN departamento dp
  3.          ON dp.CodDept=d.Cod_Dept_Padre;

Puedes reproducir la misma estructura si hay hijos de hijos (nitos) o més pero lo que no puede ser es indefinido debes saber cuantos niveles de dependencia tienes.... para hacerlo de una forma mas o menos simple si no hay que programar algo recursivo que sea capaz de determinar quantos niveles hay....

Depto DepencdeDe DependeDe ....
Nieto Hijo Padre
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 27/07/2012 a las 05:36
  #3 (permalink)  
Antiguo 01/08/2012, 02:40
 
Fecha de Ingreso: mayo-2007
Mensajes: 44
Antigüedad: 17 años
Puntos: 0
Respuesta: Duda consulta sql

Hola,

gracias y perdon por no haber contestado antes.
Probe esa opción pero solo poniendo un alias.

Salu2

Etiquetas: select, sql, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:54.