PDA

Ver la Versión Completa : En SQL server COMPUTE y en INTERBASE?


tulio
09-05-2003, 16:47:25
Hola Foro

Les comento que alguna vez en sql server use la instruccion COMPUTE y estoy buscando la equivalente en INTERBASE y no la encuentro , si alguien conoce su equivalente se lo agradezco

el query que quiero hacer es
SELECT
a.nro_prove,a.nro_factu,sum(a.importe+a.impo_iva),
(select sum(J.importe) From pagos_par J where J.nro_factu=a.nro_factu and J.nro_prove=a.nro_prove)
From FaCtu_a_pag A
where a.estado='I' group by a.nro_prove ,a.NRO_FACTU

COMPUTE SUM(a.importe+a.impo_iva-J.importe) BY A.NRO_PROVE

saludos y gracias

kinobi
09-05-2003, 19:17:45
Hola,

no sé qué hace exactamente la función COMPUTE en MSSQL-Server, pero si no encuentras equivalente en InterBase (las funciones incorporadas son muy escasas) siempre tienes la posibilidad de utilizar funciones definidas por el usuario (UDF). En la documentación se trata el tema (de las UDFs).

Saludos.

jachguate
09-05-2003, 23:48:02
Tampoco conozco MS-SQL, ni se lo que queres conseguir, pero creo que lo que buscas es un Group By.

Si no, también podes conseguir cosas interesantes con Stored Procedures del tipo.


Create Procedure a
Returns (
Numero integer
)
AS
Begin
For Select numero
from tabla
into :Numero
where condicion Do
Break;
End;


Hasta luego.

jgutti
10-05-2003, 16:41:04
Yo he usado en interbase lo sgte

Total computed by (cantidad * preciounitario);

- Computed By la utiliza en la definición de tablas;

sum(cantidad) * sum(PrecioUnitario) as Total

- Sum la utiliza en la a nivel de ibdataset;

Espero que te sirva.

atte.

JGutti

tulio
12-05-2003, 13:15:58
Gracias a
Kinobi,Jachguate y jgutti

Lo estoy solucionando a mi problema con un view y luego hago un group by de esa nueva vista.

El compute de sql server hace un group by totalizado de la tabla ,
si ustedes ven mi query de la pregunta, el compute me agruparia el resultado de lo que arroja la primera parte de la consulta.

Saludos y gracias
tulio