elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  duda con join on[oracle sql 10g+] [Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda con join on[oracle sql 10g+] [Solucionado]  (Leído 1,448 veces)
Franny


Desconectado Desconectado

Mensajes: 849


Software Developer


Ver Perfil WWW
duda con join on[oracle sql 10g+] [Solucionado]
« en: 1 Julio 2013, 22:03 pm »

Hola chicos que tal.

Estoy algo perdido con un ejercicio de oracle sql en 10g, lo que pasa es que cuando hago una consulta con este code con el join sin comentar sale bn, pero a parte necesito mostrar datos de otras tablas, y cuando agrego mas join on se me empiezan a perder datos  :-(, y no veo que pasa.

Código
  1. SELECT
  2.  m.first_name||' '|| m.last_name AS nombre,
  3.  m.member_id AS id_miembro,
  4.  nvl2(r.act_ret_date, 'Aun no devuelto', 'Devuelto') AS estado_prestamo
  5. FROM rental r
  6.  JOIN member m ON(r.member_id=m.member_id)
  7.  --join reservation re on(re.member_id=m.member_id);

Me sale así con el join comentado:


Y así con el join sin comentar


Aquí pongo un diagrama de las tablas, lo que se le había ocurrido a un compañero es que se podría hacer un filtro pero la verdad quede metido con el ejercicio


Lo siento por lo grande de las imágenes pero, pero las subí a dropbox y no se como obtener miniaturas... saludos y gracias chicos




Edit:

Hola de nuevo, entre tv y chat lo solucioné, epero creo que no con muy buenas prácticas, se podría hacer mejor por alguien mas entendido que yo, pero el punto es que funciona  :P.

El problema era que se me formaba un cartesiano, así que me valí de los distintos tipos de join para hacer que funcionara bien (o que al menos ante mis ojos funcionara bn), porque usando solo join on también se formaba un cartesiano.

Hecho en ORACLE 10G
Código
  1. SELECT
  2.  m.first_name||' '|| m.last_name AS nombre,
  3.  m.member_id AS id_miembro,
  4.  t.title AS titulo_pelicula,
  5.  nvl2(r.act_ret_date, 'Aun no devuelto', 'Devuelto') AS estado_prestamo
  6. FROM rental r
  7.  JOIN member m ON(r.member_id=m.member_id)
  8.  NATURAL JOIN title_copy
  9.  JOIN title t USING(title_id)
  10. ORDER BY nombre, titulo_pelicula;

Algunas explicaciones, aunque una vez escuché una profesora que decía que era una mala práctica usar distintos tipos de join juntos, pero no estoy seguro, si alguien pudiera aclararlo se lo agradecería.

en title copy use un natural join y en title use join using con alias t ya que como no iva a ocupar la tabla title_copy, al menos aquí no, igual el tema de memoria lo gestiona oracle, pero no se si afectará.
Captura:

Bueno chicos dejo todo esto aquí por si las moscas, quizás algún día llegue alguien mas con la misma duda que yo y esto le sirva... saludos a todos desde chile  ;D
PD: las imágenes demoran en cargar  :P


« Última modificación: 2 Julio 2013, 01:40 am por Mini_Nauta » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: duda con join on[oracle sql 10g+] [Solucionado]
« Respuesta #1 en: 2 Julio 2013, 22:59 pm »

Lo más seguro es que tengas que hacer un JOIN con doble condición
Código
  1. JOIN reservation re ON(re.member_id=m.member_id AND re.otrocampo=m.otrocampo);

Además de member_id las tablas reservation  y member tienen otro campo en común?.

Tal vez puedas poner la estructura de las tablas y que campos quieres mostrar.

O podrías utilizar subconsultas, creo que es más fácil.


Saludos.


En línea

abc
Franny


Desconectado Desconectado

Mensajes: 849


Software Developer


Ver Perfil WWW
Re: duda con join on[oracle sql 10g+] [Solucionado]
« Respuesta #2 en: 3 Julio 2013, 09:13 am »

no solo member... pero gracias por la ayuda, se me paso lo del and....saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda]Conexión a base de datos Oracle
Hacking Básico
nacho87 1 1,625 Último mensaje 15 Agosto 2012, 06:26 am
por atxdz18
[Solucionado] Matriz de Controles en Oracle Forms Developer?
Bases de Datos
Saberuneko 1 2,657 Último mensaje 14 Enero 2012, 15:04 pm
por Saberuneko
Duda sobre Oracle
Bases de Datos
axeelcs 1 1,610 Último mensaje 30 Enero 2012, 22:02 pm
por armizh
(SOLUCIONADO) Metasploit, oracle y ruby-oci8
Bugs y Exploits
xustyx 2 3,823 Último mensaje 7 Diciembre 2012, 05:16 am
por xustyx
Duda: Vistas en Oracle seguras?
Bases de Datos
danielo- 2 1,259 Último mensaje 29 Agosto 2013, 23:48 pm
por danielo-
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines