Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
A ver si consigo explicarme:

Código:
Pedido      Articulo   Cantidad  Servido
00000001  0001          1             0
00000001  0002          2             1
                                            ---   
              TOTAL SERVIDO          1
00000002  0001          1             0
00000002  0002          5             5
00000002  0003          2             0
                                            ---   
              TOTAL SERVIDO          5
 
00000003  0001          2            0
00000003  0002          5            0
00000003  0003          2            0
                                           ---   
             TOTAL SERVIDO          0
 
00000004  0001          5            0
00000004  0002          2            0
00000004  0003          3            0  
                                           ---   
           TOTAL SERVIDO             0
Lo que necesito es la suma de las cantidades pedidas de los artículos en los que no haya nada recibido del pedido, o sea, que el TOTAL RECIBIDO=0. Si cualquier línea del pedido ha sido recibida total o parcialmente ya no debe de sumar la cantidad del artículo.

Última edición por newtron fecha: 30-03-2011 a las 19:31:53.
Responder Con Cita
  #2  
Antiguo 30-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Que Base de Datos estas usando?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 30-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Newtron

podrias hacer esto...

Código SQL [-]
Select Articulo, Sum (Cantidad) As Cant
from tabla1
where Pedido not in (Select Pedido  from tabla1 where Servido <>0)
group by articulo

Sumas las cantidades de los articulos cuyo pedido no haya sido atendido (servido=0)

espero te sirva

saludos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 30-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
También creo que sirve algo así:

Código SQL [-]
select pedido, sum(cantidad), sum(servido)
from PRUEBA004
group by pedido
having sum(servido)>0
Responder Con Cita
  #5  
Antiguo 30-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Solo una observación. Casimiro, me parece que el HAVING no es necesario en este caso.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #6  
Antiguo 30-03-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
Consulta1ArticuloCant
0001
7
0002
7
0003
5

me he tomado el trabajito de crear la tabla y colocarle los datos que mencionas.... con el query que te puse mas arriba me da el resultado mostrado
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 31-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Chris Ver Mensaje
Solo una observación. Casimiro, me parece que el HAVING no es necesario en este caso.
Si quiere los que no se haya servido nada, entonces será servido=0
Código SQL [-]
select pedido, sum(cantidad), sum(servido)
from PRUEBA004
group by pedido
having sum(servido)=0

¿O no lo he entendido bien?
Responder Con Cita
  #8  
Antiguo 31-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 21
Chris Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Si quiere los que no se haya servido nada, entonces será servido=0
Código SQL [-]
select pedido, sum(cantidad), sum(servido)
from PRUEBA004
group by pedido
having sum(servido)=0

¿O no lo he entendido bien?
mmm, no sé exactamente la claúsula Having, pero creo que se comporta como un WHERE para el GROUP BY. Si es lo que creo, entonces el GROUP BY no haría el trabajo que se espera a menos que servido sea 0. Si te refieres a no devolver e los resultados los que tengan servidor=0, entonces, hasta dónde sé se debería utilizar WHERE

O eso es lo que creo ...
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
consulta sobre una consulta :D PablorD MySQL 4 02-06-2010 21:59:51
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta dentro de otra consulta judit25 Conexión con bases de datos 1 25-06-2007 15:52:15
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 03:04:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi