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-02-2009
nugame nugame is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 21
nugame Va por buen camino
problemas con selects con union..

Hola:

Tengo estos dos selects de dos tablas unidas con UNION y no logro que me sume dos referencias del articulo iguales

select hltickets.refarticulo, sum(hltickets.cantidad)
from hLTICKETS
group by 1
Union
select ltickets.refarticulo, sum(ltickets.cantidad)
from LTICKETS
group by 1


El resultado es:

REFARTICULO SUM
000010013 1
000010014 3
000010018 5
000010018 7
000010019 8

¿Hay alguna forma que me agrupe el refarticulo y me sume los dos?
Es decir que por ejemplo en el codigo
000010018 me ponga 12

Resultado seria
REFARTICULO SUM
000010013 1
000010014 3
000010018 12
000010019 8

Gracias por todo
Responder Con Cita
  #2  
Antiguo 14-02-2009
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Smile

Hola
Que motor de base de datos utilizas
Con firebird puesde hacer esto :
Código SQL [-]
SELECT refarticulo,SUM(CANTIDAD) AS CANTIDAD
FROM
(
select hltickets.refarticulo, sum(hltickets.cantidad) AS CANTIDAD
from hLTICKETS
group by 1
Union
select ltickets.refarticulo, sum(ltickets.cantidad) AS CANTIDAD
from LTICKETS
group by 1
)
GROUP BY REFARTICULO

Suerte
Responder Con Cita
  #3  
Antiguo 14-02-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Es asi con cualquier motor hecos...Nugame, UNION es una especie de "cinta adhesiva" que pega el final de un query con el principio de otro. El motor no puede hacer ningún cálculo sobre el resultado final a menos que se lo haga como dice hecospina.

De cualquier forma puedes reexpresar el query para que te haga el cálculo mediante JOINS.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 16-02-2009
nugame nugame is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 21
nugame Va por buen camino
Me da error en el paréntesis..

Hola:

En ese código me da error en el select hltickets dentro del paréntesis...

Utilizo el firebird y uuf no sé ya como puede hacerse..

gracias por todo
Responder Con Cita
  #5  
Antiguo 16-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola nugame, prueba de hacerlo así:

Código SQL [-]
Select refarticulo, Sum(cantidad)
From
       (Select refarticulo, cantidad
        From hLTICKETS
        Union
        Select refarticulo, cantidad
        From LTICKETS)
Group By refarticulo

Si no te funciona solo poniendo en paréntesis el resultado del Union, puedes probar de ponerle un alias pero sin quitar esos paréntesis, pero debería funcionarte de esa forma.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 16-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por nugame Ver Mensaje
En ese código me da error en el select hltickets dentro del paréntesis...
Lo que te ha puesto hecospia, también debería funcionarte, ¿que error te da?

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 16-02-2009
nugame nugame is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 21
nugame Va por buen camino
Me sigue dando error en el select...

Hola de nuevo:

Despues de probar:

Select refarticulo, Sum(cantidad)
From
(Select refarticulo, cantidad
From hLTICKETS
Union
Select refarticulo, cantidad
From LTICKETS)
Group By refarticulo


El error que me da es este:

Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 9.
Select.


Ese es el error que me produce.. y me lo indica en el select de dentro del paréntesis.

Uso el firebird 1.5 , ya no sé si eso influye o no..

A ver si me echais una mano.. Gracias por todo
Responder Con Cita
  #8  
Antiguo 16-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, prueba poniendole un alias.

Código SQL [-]
Select refarticulo, Sum(cantidad)
From
(Select refarticulo, cantidad
From hLTICKETS
Union
Select refarticulo, cantidad
From LTICKETS) Tmp
Group By refarticulo

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 16-02-2009
nugame nugame is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 21
nugame Va por buen camino
Nada caro igual...

Hola de nuevo:

Antes de nada gracias por la ayuda pero nada sigue dándome el mismo error..
Ufff .. ni idea ya...

Un saludo y a ver si hay suerte
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
problemas con union y group zajoma SQL 3 24-04-2008 11:27:47
activar multiples selects woduro PHP 0 15-06-2007 17:22:16
Selects yhoho SQL 0 29-09-2004 23:55:10
Ejecutar selects en segundo plano cartmanrules Firebird e Interbase 2 27-05-2004 19:08:56
Parametros opcionales en SELECTs Gydba Firebird e Interbase 4 22-04-2004 22:46:38


La franja horaria es GMT +2. Ahora son las 21:47: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