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

subconsulta mysql

Estas en el tema de subconsulta mysql en el foro de Mysql en Foros del Web. hola a todos tengo un problema y quisiera saber si se puede hacer con una consulta tengo una tabla donde guardo entidades las columnas son ...
  #1 (permalink)  
Antiguo 25/03/2009, 08:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
subconsulta mysql

hola a todos tengo un problema y quisiera saber si se puede hacer con una consulta

tengo una tabla donde guardo entidades

las columnas son id, nombre,dependencia

la duda es si yo hago una consulta de una entidad quiero que me devuelva todas las entidades que dependen de esa y las sub dependencias o sea si 3 depende de 2 y 2 depende de 1, cuando yo selecciono las dependecias de 1 me tiene que devolver 2 y 3

espero que me entiendan y gracias a todos por su tiempo
  #2 (permalink)  
Antiguo 25/03/2009, 09:21
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 3 meses
Puntos: 53
Respuesta: subconsulta mysql

m.. no entiendo muy buen tu consulta... la podrías detallar un tanto mejor..

Nos vemos
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 25/03/2009, 09:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: subconsulta mysql

Gracias por contestar tan rapido.

Tengo una tabla de este estilo en la cual guardo las entidades y de quien dependen las entidades ejemplo:

ID(numerico)-NOMBRE(varchar)-DEPENDENCIA(numerico)
1 ----------------CONTABILIDAD-----------------1
2-------------------- RRHH------------------------1
3-------------------AUDITORIA--------------------2
4------------------ LOGISTICA--------------------3

segun la tabla, LOGISTICA depende de AUDITORIA, auditoria depende de RRHH y RRHH depende de CONTABILIDAD.

necesito hacer una consulta para saber quienes dependen de la entidad a la cual consulto. ejemplo si hago la consulta para CONTABILIDAD me tendria que devolver RRHH,AUDITORIA,LOGISTICA y si hago la consulta para AUDITORIA, me tendria que devolver LOGISTICA

Última edición por Pavlox; 25/03/2009 a las 09:53
  #4 (permalink)  
Antiguo 25/03/2009, 09:51
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 3 meses
Puntos: 53
Respuesta: subconsulta mysql

en este caso estas consultado contabilidad.

Código sql:
Ver original
  1. SELECT * FROM  Tabla
  2. WHERE dependencia = 1
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 25/03/2009, 09:56
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: subconsulta mysql

Efectivamente es como dice geoAvila.

Pero si quieres hallar las dependencias por nombre puedes hacerlo asi:

Código MySQL:
Ver original
  1. select *from entidades where dependencia = (select id from entidades where nombre='RRHH');

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #6 (permalink)  
Antiguo 25/03/2009, 09:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 18 años, 11 meses
Puntos: 839
Respuesta: subconsulta mysql

Me parece que es un poco más complicado que eso.

Porque si lo entendí, debe ir buscando las dependencias recursivamente, primero, buscar las que dependan directamente, después buscar las que dependan de las dependencias, y así .

En ese caso creo que habrá que hacer un procedimiento almacenado, ya que con una consulta directa lo veo difícil.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 25/03/2009, 10:40
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: subconsulta mysql

Tienes razón david.
Esa consulta lista unicamente la dependencia directa de la entidad.
Sin embargo, si el orden de las dependencias es ascendente como se muestra en el ejemplo, esta consulta si sirve:

Código MySQL:
Ver original
  1. select *from entidades where dependencia >= (SELECT id FROM entidades WHERE nombre='RRHH');
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 25/03/2009, 11:26
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 3 meses
Puntos: 53
Respuesta: subconsulta mysql

creo que la pregunta sería cuantas si las dependencias van a tener más de 1 dependencia hija, o más de un nodo, de lo contrario es con un store procedure, esperando respuesta.

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #9 (permalink)  
Antiguo 26/03/2009, 06:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: subconsulta mysql

Hola a todos y gracias por contestar, la idea es que siga buscando dependencias recursivamente desde el nodo padre hasta el ultimo nodo hijo seria como una estructura de arbol, lo que yo queria saber era si se podia realizar la recursion en una consulta, pero hasta ahora no he visto en ningun lado que alguien lo haya podido hacer el problema de hacerlo desde php es la cantidad de consultas que tendria que hacer para encontrar los nodos.

Gracias a a todos por su colaboracion y su tiempo
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 01:08.