Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2014
daragor daragor is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 91
Poder: 12
daragor Va por buen camino
Multiplicar un campo sumado con un parametro

Hola compañeros, recurro a uds. para me que ayuden con una consulta que no me esta funcionando, me da error de sintaxis -902

En una consulta quiero multiplicar un campo sumado x un parametro, ya que el mismo es variable.
Ejemplo:
Código SQL [-]
SELECT (SUM(precio)*:CI) AS total FROM ventas
CI es el parametro que toma la variable x ejemplo 50

Espero me entiendan muchas gracias!
__________________
Mi Blog: Webscom (Software libre)
Responder Con Cita
  #2  
Antiguo 12-06-2014
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
¿Esta consulta que mencionas, la estas tratando de ejecutar tal y cual?, porque si es así, seguramente lo que necesitas es vincularla a un procedimiento almacenado.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 12-06-2014
daragor daragor is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 91
Poder: 12
daragor Va por buen camino
Estoy trabajando con lazarus, es un query en un procedimiento. Creo que no acepta multiplicacion por parametros?
__________________
Mi Blog: Webscom (Software libre)
Responder Con Cita
  #4  
Antiguo 12-06-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola daragor.

Yo opino como jhonny, hasta donde conozco, Firebird no permite el uso de los parámetros de ese modo, vas a tener que hacerte un procedimiento almacenado...

Por ejemplo:
Código SQL [-]
SET TERM ^;

CREATE PROCEDURE SP_SUMTOTAL(MULT DOUBLE PRECISION)
RETURNS (RESULT DOUBLE PRECISION)
AS
BEGIN
  SELECT SUM(PRECIO) FROM VENTAS INTO RESULT;
  RESULT = RESULT * MULT;
  SUSPEND;
END^

SET TERM; ^

Desde Delphi:
Código Delphi [-]
  with IBStoredProc1 do
  begin
    Params.ParamByName('MULT').AsFloat:= 5;
    ExecProc;
    ShowMessage(ParamByName('RESULT').AsString);
  end;
Lo que te debo es como sería con el equivalente al TIBStoredProc en Lazarus ya que desconozco cuál es el componente.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 12-06-2014
daragor daragor is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 91
Poder: 12
daragor Va por buen camino
Gracias muchachos
__________________
Mi Blog: Webscom (Software libre)
Responder Con Cita
  #6  
Antiguo 12-06-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
De nada daragor, por si te pudiera servir de ayuda, te detallo la asignación anterior del TIBStoredProc en tiempo de ejecución.
Código Delphi [-]
  with IBStoredProc1 do
  begin
    DataBase:= IBDatabase1;
    StoredProcName:= 'SP_SUMTOTAL';
    Params.Clear;
    Params.CreateParam(ftFloat,'RESULT',ptOutput);
    Params.CreateParam(ftFloat,'MULT',ptInput);
    Params.ParamByName('MULT').AsFloat:= 5;
    ExecProc;
    ShowMessage(ParamByName('RESULT').AsString);
  end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Consultar Campo Fecha por Parametro utilizando ADOConexion novato_erick Conexión con bases de datos 8 21-11-2012 07:55:23
Pasar parametro como campo en un SP lgarcia MS SQL Server 3 05-03-2010 02:02:20
Cuando el Nombre del campo es el parametro Camilo SQL 6 06-08-2007 18:35:00
Parámetro como nombre de campo Loviedo SQL 4 12-04-2007 19:49:35
como obtener un numero entero a raiz de multiplicar dos campo string buzon MS SQL Server 5 10-12-2006 18:03:28


La franja horaria es GMT +2. Ahora son las 01:56:29.


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