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 30-03-2005
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Una duda sobre Adsl

Buenos días tengo un par de preguntillas:

¿se puede hacer una consulta SQL, por ej. SUM sobre un campo calculado.?

Por ej. Adotable1 con varios campo, uno de ellos calculado( calcula precio x cantidad)

query1 con select campo1, sum(calculado) as totales etc.etc.

al hacer esto me dá un error(no recuerdo cual), pero si en vez del calculado pongo cualquier campo real no me dá error.

el problema es que he probado a hacer esto:

select campo1, sum(precio*cantidad) as totales etc.etc.
y me dá el resultado sin problemas, pero como no puedo redondear a 3 decimales, el resultado que me dá difiere en un decimal en algunos casos.

Es decir por ej. 12,54 * 3,56=44,6424
15,21 * 4,23=64,3383

en pocas palabras, lo que necesito es redondear a 3 decimales el resultado de las multiplicaciones anteriores para poder sumar con ese formato y que no me sobre el decimal.

es decir algo así(aunque me lo invento)

select campo1, sum(redondear(precio*cantidad),3) as totales etc.etc.

A ver si hay suerte, Muchas Gracias...
Responder Con Cita
  #2  
Antiguo 30-03-2005
johncook johncook is offline
Miembro
 
Registrado: oct 2004
Posts: 65
Poder: 20
johncook Va por buen camino
Prueba con Round. Para mas info, consulta la ayuda.
Saludos.
Responder Con Cita
  #3  
Antiguo 30-03-2005
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Dentro de Sql creo que no admite el Round

Gracias por responder, pero el Round si nome equivoco no es aplicable a una sentencia SQL???

Saludos...
Responder Con Cita
  #4  
Antiguo 30-03-2005
johncook johncook is offline
Miembro
 
Registrado: oct 2004
Posts: 65
Poder: 20
johncook Va por buen camino
No tengo idea q base de datos estas utilizando. Pero el ROUND si es aplicable a una sentencia SQL.
Transcribo ayuda de SQL Server.
ROUND - T-SQL
Devuelve una expresión numérica, redondeada a la longitud o precisión especificada.

Sintaxis

ROUND(expresiónNumérica, longitud[, función])

Argumentos

expresiónNumérica Es una expresión de la categoría de tipos de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit. longitud Es la precisión a la que se debe redondear expresiónNumérica. longitud debe ser del tipo tinyint, smallint o int. Cuando longitud es un número positivo, expresiónNumérica se redondea al número de posiciones decimales especificado en longitud. Cuando longitud es un número negativo, expresiónNumérica se redondea en el lado izquierdo del separador decimal, como se especifica en longitud. función Es el tipo de operación que se va a realizar. función debe ser del tipo tinyint, smallint o int. Cuando se omite función o tiene el valor 0 (predeterminado), se redondea expresiónNumérica. Cuando se especifica un valor distinto de 0, se trunca expresiónNumérica.
Responder Con Cita
  #5  
Antiguo 30-03-2005
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
ado sobre base de datos access

Utilizo Ado y Base de datos access.

Adotable y Adoquery...

En cualquier caso esta noche probaré lo del round...

Gracias
Responder Con Cita
  #6  
Antiguo 31-03-2005
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
Funcionaaa

Muchas gracias, el Round si que funciona en una sentencia SQL en Delphi

Ahora me dá el resultado correcto...


Muchas gracias
Responder Con Cita
  #7  
Antiguo 31-03-2005
johncook johncook is offline
Miembro
 
Registrado: oct 2004
Posts: 65
Poder: 20
johncook Va por buen camino
De Nada.
Saludos.
Responder Con Cita
  #8  
Antiguo 31-03-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
¿¿y qué tiene que ver el adsl con todo esto??
__________________
E pur si muove
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


La franja horaria es GMT +2. Ahora son las 00:57:32.


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