Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2010
mbguantay mbguantay is offline
Miembro
 
Registrado: abr 2006
Posts: 22
Poder: 0
mbguantay Va por buen camino
Restar dos queries

Hola amigos

quisiera saber si alguno de uds sabe si con MySQl se puede hacer una consulta tipo:

SELECT id, nombre, ((SELECT SUM(IMPORTE) FROM tabla1) - (SELECT SUM(IMPORTE) FROM tabla2)) AS saldo

Algo parecido, no la tengo bien en claro a la consulta aún solo quiero saber si la operacion resta entre dos consultas es posible.

Gracias!!!
Responder Con Cita
  #2  
Antiguo 22-12-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Me da la impresión que así no funcionará.

Código Delphi [-]
Var
Restoouble;

Query1.Sql.Add('Select Sum(loquesea) from ventas1');
Query2.Sql.Add('Select Sum(loquesea) from ventas2');

Resto:=Query1.Fields[0].AsFloat - Query2.Fields[0].AsFloat;

Creo que así te funcionará, es decir utilizando dos TQuery distintos.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 22-12-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Cita:
Empezado por mbguantay Ver Mensaje
Hola amigos

quisiera saber si alguno de uds sabe si con MySQl se puede hacer una consulta tipo:

SELECT id, nombre, ((SELECT SUM(IMPORTE) FROM tabla1) - (SELECT SUM(IMPORTE) FROM tabla2)) AS saldo

Algo parecido, no la tengo bien en claro a la consulta aún solo quiero saber si la operacion resta entre dos consultas es posible.

Gracias!!!
Claro que se puede >
Código SQL [-]
SELECT id, nombre, (SELECT SUM(IMPORTE) FROM tabla1) - (SELECT SUM(IMPORTE) FROM tabla2) AS Saldo From Tu_Tabla;
Observacion: La observacion que veo es que la columna "Saldo" así como está en la consulta SQL anterior, pues tendrá el mismo valor para todas las filas resultante de la consulta.
Hummm... no sé pero a mi me parece que lo que estas tratando de hacer es hacerlo por cada ID o Nombre de la tabla principal("Tu_Tabla"), pues si es ese caso creo que las sub-consultas donde se hacen la sumatoria deberían estar condicionadas con un Where algo así:
Código SQL [-]
SELECT 
id,
nombre,
(SELECT SUM(IMPORTE) FROM tabla1 t1 where T.id=t1.id_Referencia) - (SELECT SUM(IMPORTE) FROM tabla2 t2 where T.id=t2.id_Referencia) AS Saldo 
FROM Tu_Tabla T;
De esa manera logramos que MySQL haga la subconsulta(columna saldo) por cada Id o fila diferente .


Cabe destacar
que t1.id_Referencia y t2.id_Referencia deberian ser campos de referencias(Foreign Key) a la tabla "Tu_Tabla", Es decir tanto la tabla "tabla1" como la tabla "tabla2" deberían estar relacionadas con la tabla "Tu_Tabla" con algun campo específico.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 22-12-2010 a las 22:47:18.
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 Heterogeneous Queries en Delphi 5 mayte mtz Varios 1 15-02-2007 19:44:09
Rave5-Queries (SQL) idatejo Conexión con bases de datos 2 10-04-2006 18:04:09
Queries a BD Access Cactus Conexión con bases de datos 5 26-10-2005 02:26:29
Queries en funciones de PostgreSQL Leviatan PostgreSQL 1 11-10-2005 19:06:12
Substring en Queries idatejo SQL 0 24-12-2004 00:05:32


La franja horaria es GMT +2. Ahora son las 02:10:50.


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