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
SELECT m.first_name||' '|| m.last_name AS nombre, m.member_id AS id_miembro, nvl2(r.act_ret_date, 'Aun no devuelto', 'Devuelto') AS estado_prestamo FROM rental r JOIN member m ON(r.member_id=m.member_id) --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 .
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
SELECT m.first_name||' '|| m.last_name AS nombre, m.member_id AS id_miembro, t.title AS titulo_pelicula, nvl2(r.act_ret_date, 'Aun no devuelto', 'Devuelto') AS estado_prestamo FROM rental r JOIN member m ON(r.member_id=m.member_id) NATURAL JOIN title_copy JOIN title t USING(title_id) 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
PD: las imágenes demoran en cargar