Ver Mensaje Individual
  #1  
Antiguo 11-10-2011
rubio rubio is offline
Miembro
 
Registrado: mar 2009
Posts: 36
Reputación: 0
rubio Va por buen camino
Thumbs down Consulta con el HAVING por parámetro

Hola amigos del foro, de antemano gracias a todos aquellos que se interesen por este hilo y a los que me ayuden en la solución. Tengo una consulta que la ejecuto dentro de un procedimiento almacenado, estoy usando SQL 2000, pero quisiera pasar la condición del HAVING como parámetro al procedimiento.

Lo tengo así:

Código SQL [-]
CREATE PROCEDURE dbo.Factura1 AS

SELECT     dbo.OT.OT, SUM(dbo.OT.ImpCUC) AS ImpCUC, SUM(dbo.OT.ImpMN) AS ImpMN, dbo.OT.IdCentral, dbo.Entidades.Descripcion, dbo.Motores.Marca, 
                      dbo.Motores.Modelo, dbo.Horas.Horas, dbo.Centrales.Nombre, dbo.OTObservaciones.Observaciones, dbo.OT.Bateria, dbo.OT.Motor
FROM         dbo.OT LEFT OUTER JOIN
                      dbo.Entidades ON dbo.OT.IdEntidad = dbo.Entidades.IdEntidad LEFT OUTER JOIN
                      dbo.Motores ON dbo.OT.IdMotor = dbo.Motores.IdMotor LEFT OUTER JOIN
                      dbo.Horas ON dbo.OT.IdHoras = dbo.Horas.IdHoras LEFT OUTER JOIN
                      dbo.Centrales ON dbo.OT.IdCentral = dbo.Centrales.IdCentral LEFT OUTER JOIN
                      dbo.OTObservaciones ON dbo.OT.OT = dbo.OTObservaciones.OT
GROUP BY dbo.OT.OT, dbo.OT.IdCentral, dbo.Entidades.Descripcion, dbo.Motores.Marca, dbo.Motores.Modelo, dbo.Horas.Horas, dbo.Centrales.Nombre, 
                      dbo.OTObservaciones.Observaciones, dbo.OT.Bateria, dbo.OT.Motor
HAVING      (dbo.OT.OT = 252011)
GO


pero quisiera poder hacer esto:

Código SQL [-]
CREATE PROCEDURE dbo.Factura1

@SHaving CHAR(256)

AS

SELECT     dbo.OT.OT, SUM(dbo.OT.ImpCUC) AS ImpCUC, SUM(dbo.OT.ImpMN) AS ImpMN, dbo.OT.IdCentral, dbo.Entidades.Descripcion, dbo.Motores.Marca, 
                      dbo.Motores.Modelo, dbo.Horas.Horas, dbo.Centrales.Nombre, dbo.OTObservaciones.Observaciones, dbo.OT.Bateria, dbo.OT.Motor
FROM         dbo.OT LEFT OUTER JOIN
                      dbo.Entidades ON dbo.OT.IdEntidad = dbo.Entidades.IdEntidad LEFT OUTER JOIN
                      dbo.Motores ON dbo.OT.IdMotor = dbo.Motores.IdMotor LEFT OUTER JOIN
                      dbo.Horas ON dbo.OT.IdHoras = dbo.Horas.IdHoras LEFT OUTER JOIN
                      dbo.Centrales ON dbo.OT.IdCentral = dbo.Centrales.IdCentral LEFT OUTER JOIN
                      dbo.OTObservaciones ON dbo.OT.OT = dbo.OTObservaciones.OT
GROUP BY dbo.OT.OT, dbo.OT.IdCentral, dbo.Entidades.Descripcion, dbo.Motores.Marca, dbo.Motores.Modelo, dbo.Horas.Horas, dbo.Centrales.Nombre, 
                      dbo.OTObservaciones.Observaciones, dbo.OT.Bateria, dbo.OT.Motor
HAVING      (SHaving)
GO

pero al ejecutarlo me da error.

Agradezco toda la ayuda que me puedan dar para resolver el problema. Gracias a todos.
Responder Con Cita