Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2011
rubio rubio is offline
Miembro
 
Registrado: mar 2009
Posts: 36
Poder: 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
  #2  
Antiguo 11-10-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y que error es el que te sale?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 11-10-2011
rubio rubio is offline
Miembro
 
Registrado: mar 2009
Posts: 36
Poder: 0
rubio Va por buen camino
Error 170: Linea 17: sintaxis incorrecta cerca de ')'
Responder Con Cita
  #4  
Antiguo 11-10-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
y como estas mandando el parametro?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #5  
Antiguo 11-10-2011
rubio rubio is offline
Miembro
 
Registrado: mar 2009
Posts: 36
Poder: 0
rubio Va por buen camino
Oscarac gracias por interesarte por mi problema, el error me lo dá cuando estoy creando el procedimiento almacenado, o sea, que aún no he ejecutado el procedimiento por primera vez.
Responder Con Cita
  #6  
Antiguo 11-10-2011
Avatar de orioncomputer
orioncomputer orioncomputer is offline
Miembro
 
Registrado: may 2006
Ubicación: Maturin, Monagas, Venezuela
Posts: 18
Poder: 0
orioncomputer Va por buen camino
Saludos, rubio.
No he probado tu consulta SQl, pero a simple vista creo que el error esta en:
1.- Asi me dices que te funciona?
Cita:
HAVING (dbo.OT.OT = 252011)
2.- Luego intentas hacer esto
Cita:
HAVING (SHaving)
y deberias hacerlo Asi:
Cita:
HAVING (dbo.OT.OT = SHaving)
ya que asumo que la consulta no es inteligente y pueda asumir que cosa quieres filtrar.

Sin mas......

Prueba y comenta
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en consulta sql con parametro Lizette Varios 7 14-04-2009 07:40:44
Consulta Like '%'+ :parametro + '%' klionsis Varios 6 23-08-2008 01:29:37
problema con un parametro consulta sql sensei SQL 2 27-02-2008 02:27:52
Consulta Like Mysql '%'+ :parametro + '%' CarlaOnti MySQL 3 30-01-2006 12:46:13
Problema con Parametro en una consulta Durbed Firebird e Interbase 4 23-06-2005 17:55:41


La franja horaria es GMT +2. Ahora son las 19:52:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi