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

Consulta con inner joins bastante retorcida

Estas en el tema de Consulta con inner joins bastante retorcida en el foro de Bases de Datos General en Foros del Web. Hola Gente!!!! Tendo una consulta bastante retorcida que no trae los datos que quiero, que son pocos. Coloco primero los detalles de la tabla: Usuarios: ...
  #1 (permalink)  
Antiguo 07/12/2004, 09:52
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 2 meses
Puntos: 2
Sonrisa Consulta con inner joins bastante retorcida

Hola Gente!!!!
Tendo una consulta bastante retorcida que no trae los datos que quiero, que son pocos.
Coloco primero los detalles de la tabla:
Usuarios:
IDUSUARIO(PK), NOMBRE, SUCURSAL (FK SUCURSALES)
Sucursales:
IDSUC(PK), NOMBRE, C_CLIENTE(FK CLIENTES) ...
Clientes:
IDCLIENTE(PK), NOMBRE, DIRECCION ......

Lo que necesito es traer en una consulta todos los usuarios existentes en la tabla usuarios y en vez de traer el cmapo sucursal como numero (identificador de la tabla que uso como clave externa) traiga el nombre de dicha tabla y lo mismo con clientes, que coloque en ves de ccliente numerico, me devuelva el nombre.

Yo intenté lo siguiente pero me duplica datos.

SELECT USUARIOS.IDUSUARIO, USUARIOS.NOMBRE, SUCURSALES.NOMBRE AS SUCU, CLIENTES.NOMBRE AS NOMCLI
FROM USUARIOS INNER JOIN CLIENTES INNER JOIN SUCURSALES ON USUARIOS.CCLIENTE=CLIENTES.IDCLIENTE ON SUCURSALES.C_CLIENTE=CLIENTES.IDCLIENTE
WHERE CCLIENTE=3 (por ejemplo)

Qué es lo que está mal????

Mil gracias por la atencion
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #2 (permalink)  
Antiguo 07/12/2004, 10:12
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años, 8 meses
Puntos: 0
¿¿¿Y no te valdria:

SELECT u.idusuario, u.nombre, s.nombre, c.nombre
FROM usuarios u, sucursales s, clientes c
WHERE u.sucursal=s.idsuc and s.c_cliente=c.idcliente and c.idcliente=3;

???
  #3 (permalink)  
Antiguo 07/12/2004, 10:18
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Prueba esto:

SELECT USUARIOS.IDUSUARIO, USUARIOS.NOMBRE, SUCURSALES.NOMBRE AS SUCU, CLIENTES.NOMBRE AS NOMCLI
FROM USUARIOS
INNER JOIN SUCURSALES ON SUCURSALES.IDSUC=USUARIOS.SUCURSAL
INNER JOIN CLIENTES ON SUCURSALES.C_CLIENTE=CLIENTES.IDCLIENTE
WHERE SUCURSALES.C_CLIENTE=3
  #4 (permalink)  
Antiguo 07/12/2004, 10:20
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 2 meses
Puntos: 2
JAJAJAJA!!!!!
Pero si seré distraída.....
Mil gracias! La verdad es que estoy haciendo tantas cosas raras que una maso simple.... me bloqueo!

Miles de miles de gracias por la atención
__________________
Why can't we not be sober?
www.partitorium.com.ar
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 14:21.