martes, 19 de junio de 2018


Fecha Inicial : .19/06/2018 
Fecha Final :  .19/06/2018
Hora Inicio: .1:30 AM
Hora Final: . 3:00 AM
Horas invertidas(Minutos): 90 minutos 
Colaboradores: José David Rodríguez
Tipo de labor: Individual



Actividad:Inicio de la creación de las consultas
Se empezó a creó la versión 1.0 de la primera consulta, sin embargo, a la hora de cargarla, esta genera un error (ver Imagen 1).
Se elimina el error de la consulta 1. Los cambios que se le realizaron a esta consulta, agregaron el A.ID para mostrar el ID de cada acción y se le agregó una cláusula GROUP BY A.ID, A.PrecioActual, basados en un investigación para lograr corregir el error de la versión 1.0, así como se agregó una condición más a la hora de trabajar con el segundo inner join. De momento, la consulta fue cargada con éxito mas no ha sido probada para ver si funciona. Hay que esperar los datos de las operaciones
Se empezó a pensar cómo realizar la consulta 2 y se llegó a la conclusión de que lo más eficiente es crear un campo nuevo llamado ganancia en la tabla Cliente. Cada vez que se ejecute una operación, se modificará este campo dependiendo de lo que la operación le genere a cada cliente. (Al final se descarta esta opción a la hora de programar la consulta ya que esto serviría únicamente para cuando se hace la consulta desde la primera fecha hasta la última, a la hora de obtener el rango de fechas como parámetros, se cae esta idea). Se empieza a pensar como realizar la segunda consulta pero no hay éxito todavía.


Imágenes:


Imagen 1
Imagen 2 




Apéndice:

  • Código Versión 1.0 . Consulta 1

CREATE PROCEDURE Consulta_1

@fechaInicio date,
@fechaFin date
AS
BEGIN
SELECT A.PrecioActual,AVG(MA.Precio),COUNT(MA.ID) 
FROM Accion A INNER JOIN MovimientoAcciones MA 
ON A.ID = MA.FK_Accion INNER JOIN Operacion Op 
ON Op.FK_Movimiento = MA.ID and Op.Fecha>=@fechaInicio and Op.Fecha <= @fechaFin 
ORDER BY A.PrecioActual
END
GO

  • Código Versión 1.1 . Consulta 1
CREATE PROCEDURE Consulta_1
@fechaInicio date,
@fechaFin date
AS
BEGIN
SELECT A.ID, A.PrecioActual,AVG(MA.Precio),COUNT(MA.ID) 
FROM Accion A INNER JOIN MovimientoAcciones MA 
ON A.ID = MA.FK_Accion INNER JOIN Operacion Op 
ON Op.FK_Movimiento = MA.ID and A.ID = MA.FK_Accion and Op.Fecha>=@fechaInicio and Op.Fecha <= @fechaFin 
GROUP BY A.ID, A.PrecioActual
ORDER BY A.PrecioActual
END
GO


Fuente: 
  • Error de la versión 1.0
https://stackoverflow.com/questions/18258704/sql-server-column-invalid-in-the-select-list-because-it-is-not-contained-in-e/18258768

No hay comentarios.:

Publicar un comentario