Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2014, 01:55
bladecode
 
Fecha de Ingreso: abril-2014
Mensajes: 1
Antigüedad: 10 años
Puntos: 0
Vista y procedimiento almacenado

Hola, tengo problemas para hacer un ejercicio que me mandaron en la uni, es el siguiente
Tengo creada una vista de un par de tablas con un inner join.
De esa vista saco las sumas de los totales de cantidad por precio y las agrupo por su id de cotizacion.
Hasta ahi lo tengo correcto.
Ahora ese resultado lo tengo que agregar a la tabla cotizacion creando la nueva columna llamada total en un procedimiento almacenado y actualizando los datos de la nueva columna con las sumas que obtuve.
He ahi el problema no tengo idea de como lograrlo. Ya he estado unas cuantas hrs viendo como hacerlo en internet pero no lo logro.
Dejo mi codigo y si alguien me puede ayudar estaria eternamente agradecido.

Código SQL:
Ver original
  1. CREATE DATABASE cotizaciones
  2. USE cotizaciones;
  3.  
  4. CREATE TABLE cat_provedores(
  5. id_provedores INT IDENTITY PRIMARY KEY,
  6. nomb_prov VARCHAR (30)NOT NULL,
  7. telef INT NOT NULL,
  8. direccion VARCHAR (30) NOT NULL,
  9. );
  10.  
  11. CREATE TABLE cotizacion(
  12. id_cotizacion INT IDENTITY PRIMARY KEY,
  13. id_provedores INT FOREIGN KEY REFERENCES cat_provedores,
  14. fecha DATE NOT NULL
  15. );
  16.  
  17. CREATE TABLE cat_articulos(
  18. id_articulo INT IDENTITY PRIMARY KEY,
  19. nomb_art VARCHAR (30) NOT NULL,
  20. precio INT NOT NULL
  21. );
  22.  
  23. CREATE TABLE det_coti(
  24. id_cotizacion INT FOREIGN KEY REFERENCES cotizacion,
  25. id_articulo INT FOREIGN KEY REFERENCES cat_articulos,
  26. cantidad INT NOT NULL
  27. );
  28.  
  29. CREATE VIEW  CantxArt
  30. AS
  31. SELECT deta.id_cotizacion, art.id_articulo, precio, cantidad, precio*cantidad AS Total FROM det_coti AS deta JOIN
  32. cat_articulos AS art ON deta.id_articulo=art.id_articulo
  33.  
  34. SELECT SUM(total)AS Total FROM CantxArt GROUP BY id_cotizacion
[/CODE]

Última edición por gnzsoloyo; 03/04/2014 a las 03:37