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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Ejercicio PL/SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio PL/SQL  (Leído 2,443 veces)
SeñorX95

Desconectado Desconectado

Mensajes: 26


Ver Perfil
Ejercicio PL/SQL
« en: 4 Mayo 2015, 11:22 am »

Me pide que haga un programa en PL/SQL que calcule el numero de socios distintos que hayan alquilado cada pelicula. Los alquileres los saco de dos tablas: alquileres e historicoalquileres pero me tienen que salir juntos. Tengo este código pero no se juntar las dos tablas y que si es el mismo socio no me lo cuente dos veces.

Código
  1. SET SERVEROUTPUT ON;
  2. DECLARE
  3. UnPelicula peliculas%ROWTYPE;
  4. resultado INTEGER;
  5. resultado2 INTEGER;
  6. resultado3 INTEGER;
  7.  
  8.  
  9. BEGIN
  10. FOR UnPelicula IN
  11. (SELECT peliculas.codp,peliculas.nombrep, COUNT(DISTINCT alquileres.codc) AS TOTAL
  12. FROM socios, peliculas, alquileres
  13. WHERE peliculas.codp=alquileres.codp
  14. GROUP BY peliculas.codp,peliculas.nombrep
  15. ORDER BY TOTAL DESC)
  16.  
  17. LOOP
  18.  
  19. resultado:=UnPelicula.TOTAL;
  20.  
  21. END LOOP;
  22.    DBMS_OUTPUT.PUT_LINE('****HISTORICO-PRESTAMOS******');
  23.    DBMS_OUTPUT.PUT_LINE('****HISTORICO-PRESTAMOS******');
  24.    DBMS_OUTPUT.PUT_LINE('****HISTORICO-PRESTAMOS******');
  25. FOR UnPelicula IN
  26. (SELECT peliculas.codp,peliculas.nombrep, COUNT(DISTINCT historicoalquileres.codc) AS TOTAL
  27. FROM socios, peliculas, historicoalquileres
  28. WHERE peliculas.codp=historicoalquileres.codp
  29. GROUP BY peliculas.codp,peliculas.nombrep
  30. ORDER BY TOTAL DESC)
  31.  
  32. LOOP
  33.  
  34. resultado2:=UnPelicula.TOTAL;
  35. resultado3:=resultado+resultado2;
  36. DBMS_OUTPUT.PUT_LINE('**********');
  37. DBMS_OUTPUT.PUT_LINE(UnPelicula.nombrep ||' '|| resultado3 || ' Socios Distintos');
  38. DBMS_OUTPUT.PUT_LINE('**********');
  39. END LOOP;
  40.  
  41.  
  42. END;
  43. /


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejercicio 506
Ejercicios
ieman 0 3,783 Último mensaje 13 Mayo 2005, 17:42 pm
por ieman
Ejercicio en C
Ejercicios
ߣ@î§ 3 10,628 Último mensaje 4 Septiembre 2005, 06:31 am
por ߣ@î§
Help Ejercicio 122 en C
Ejercicios
ANELKAOS 4 4,909 Último mensaje 15 Septiembre 2005, 23:41 pm
por Arcangel_RZ
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,773 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
ejercicio conclase pag 70 ejercicio 1
Programación C/C++
flony 2 4,314 Último mensaje 17 Octubre 2010, 12:16 pm
por Akai
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines