Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 17-jul-2008, 10:13   #1 (permalink)
killerangel tiene algunos puntos positivos de karma
 
Avatar de killerangel
 
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 325
Enviar un mensaje por MSN a killerangel
consulta multiple en una sola

Hola foro 'wen' dia a todos....

tengo 3 tablas: departamento, provincia y distrito, en relacion de pertenencia de mayor a menor (distrito de una provincia, etc..)

en la tabla distrito (Dist_cod) tengo el codigo de departamento (Dpto_cod) y provincia (Prov_cod)

necesito encontrar el nombre de la departamento, provincia y distrito de un usuario entonces obtengo el id de dpo, prov y dist y para saber sus nombres tendría q hacer 3 select uno para cada taba ubicandolos por el id de cada una...

"SELECT dpto_nom FROM departamento WHERE Dpto_cod=".$Dpto_cod;

"SELECT prov_nom FROM provincia WHERE Dpto_cod=".$Dpto_cod.' AND Prov_cod='.$Prov_cod;

"SELECT dist_nom FROM distrito WHERE Dpto_cod=".$Dpto_cod." AND Prov_cod=".$Prov_cod." AND Dist_cod=".$Dist_cod;

puedo hacer estos 3 select en uno solo que agilice el proceso de busqueda??

gracias
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
killerangel está desconectado   Responder Citando
Antiguo 17-jul-2008, 10:56   #2 (permalink)
jurena tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 591
Respuesta: consulta multiple en una sola

Cita:
Iniciado por killerangel Ver Mensaje
Hola foro 'wen' dia a todos....

tengo 3 tablas: departamento, provincia y distrito, en relacion de pertenencia de mayor a menor (distrito de una provincia, etc..)

en la tabla distrito (Dist_cod) tengo el codigo de departamento (Dpto_cod) y provincia (Prov_cod)

necesito encontrar el nombre de la departamento, provincia y distrito de un usuario entonces obtengo el id de dpo, prov y dist y para saber sus nombres tendría q hacer 3 select uno para cada taba ubicandolos por el id de cada una...

"SELECT dpto_nom FROM departamento WHERE Dpto_cod=".$Dpto_cod;

"SELECT prov_nom FROM provincia WHERE Dpto_cod=".$Dpto_cod.' AND Prov_cod='.$Prov_cod;

"SELECT dist_nom FROM distrito WHERE Dpto_cod=".$Dpto_cod." AND Prov_cod=".$Prov_cod." AND Dist_cod=".$Dist_cod;

puedo hacer estos 3 select en uno solo que agilice el proceso de busqueda??

gracias
Creo que el código de Dpto. Dpto_cod debería estar incluido como FK en la tabla provincia. De esa manera conseguirías dos cosas: ahorrar espacio, pues has escrito ese código un número menor de veces que al guardarlo en la tabla distrito, y por otra parte podrías hacer una búsqueda de provincias del departamento, cosa que ahora no puedes hacer, puesto que no los has relacionado.
La estructura
departamento
-----------------
id_Depto PK
Departamento

provincia
------------
id_Provincia PK
Provincia
refid_Depto FK

distrito
---------
id_distrito PK
Distrito
refid_Provincia FK

usuario
---------
id_usuario PK
nombreusuario
refid_distrito FK

Imaginemos que buscas los datos del usuario cuyo id_usuario es el 5.

SELECT u.nombreusuario, d.Departamento, p.Provincia, di.distrito FROM departamento d INNER JOIN provincia p ON d.id_Depto = p.refid_Depto INNER JOIN distrito di ON p.id_Provincia = d.refid_Provincia INNER JOIN usuario u ON di.id_distrito = u.refid_distrito WHERE id_usuario = 5

Pero esta es la sintaxis con la estructura que te he propuesto.
Con lo que tienes

SELECT u.nombreusuario, d.Departamento, p.Provincia, di.distrito FROM distrito di INNER JOIN departamento d ON d.id_Depto = di.refid_Depto INNER JOIN provincia p ON p.id_Provincia = di.refid_Provincia INNER JOIN usuario u ON di.id_distrito = u.refid_distrito WHERE u.id_usuario = 5

Te recomiendo el cambio que te he propuesto, pero esta es la idea...

Última edición por jurena; 17-jul-2008 a las 23:08.
jurena esta en línea ahora   Responder Citando
Antiguo 17-jul-2008, 23:01   #3 (permalink)
killerangel tiene algunos puntos positivos de karma
 
Avatar de killerangel
 
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 325
Enviar un mensaje por MSN a killerangel
Respuesta: consulta multiple en una sola

interesante punto de vista

gracias por la ayuda!!!!
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
killerangel está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 07:08.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93