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 10-09-2008
ZLEON ZLEON is offline
Registrado
 
Registrado: ago 2008
Posts: 7
Poder: 0
ZLEON Va por buen camino
Unhappy consulta agrupada y ordenada

Buen dia,

Solicito su colaboracion tengo una tabla de la siguiente manera

Tabla Ventas

NombreSub TipoPlan Min NomPlan
william prepago 3100000 Espec
mario pospago 3100000 plan135
William pospago 313 practic

Necesito agrupar la cantidad de ventas por cada Subdistribuidor y tipo de plan y que me lo ordene por cantidad de pospagos
osea los siguiente



Nomsub prepago pospago
William 3 4
Mario 2 5

MUCHAS GRACIAS

ZULEMA LEON
Responder Con Cita
  #2  
Antiguo 10-09-2008
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Pues con un "group by" y un "union". Hay otras soluciones pero creo que te vale algo así:
Código SQL [-]
select NombreSub, sum(prepago), sum(pospago)
from
(select NombreSub, 1 as prepago, 0 as pospago
from tabla
where tipoplan='prepago'
union
select NombreSub, 0 as prepago, 1 as pospago
from tabla
where tipoplan='pospago')
group by Nomsub
order by 3
Responder Con Cita
  #3  
Antiguo 19-11-2008
cyberpek cyberpek is offline
Registrado
 
Registrado: oct 2008
Posts: 9
Poder: 0
cyberpek Va por buen camino
el group by me tira error y nose por que

Les comento, tengo una tabla contrato que tiene datos ente los cuales esta fecha y total(valor del contrato)
Luego tengo una tabla factura(que es por el alquiler de unos stand) que entre los datos tambien tengo fecha y total
Entonces yo quiero saber para cada fecha, la fecha en si y el total facturado ese dia y realizo la siguiente consulta

select p.fecha as Fecha, sum(p.monto) as Total
from pabelloncontratado p
union
select f.fecha as Fecha, sum(f.total) as Total
from factura f
group by 1

y me pone lo siguiente: Group by es requerid when both aggregate and non-aggregate fields are used in result set
Por lo que entiendo me dice que necesito usar el group by, pero lo estoy usando, quise poner parentesis y me tira error. Estoy usando paradox
Espero que me puedan ayudar
Gracias
Responder Con Cita
  #4  
Antiguo 19-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código SQL [-]
 
select p.fecha as Fecha, sum(p.monto) as Total
from pabelloncontratado p
union 
select f.fecha as Fecha, sum(f.total) as Total
from factura f
group by p.fecha

Como regla nemotécnica: Siempre que uses un group by, debes poner todos los campos del select en dicha cláusula, excepto aquellas que usen una función.

Ejemplito:
Código SQL [-]
select nombre, apellidos, direccion, sum(total_facturado)
from tabla 
group by nombre, apellidos, direccion
Si la consulta no da el resultado que deseas, entonces tienes que hacer subconsultas, uniones y "cosas raras"

Obviamente lo suyo es un manual SQL y aprender estas cosas bien.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 19-11-2008
cyberpek cyberpek is offline
Registrado
 
Registrado: oct 2008
Posts: 9
Poder: 0
cyberpek Va por buen camino
Hola, yo sabia que cuando se usa el group by tiene que ir los campos que no son funcion, yo puse group by 1, ya que renombro al campo fecha, no se me ocurre como poder hacerlo de otra manera, espero que me puedan ayudar. Lo hice como me decias vos de usar group by p.fecha pero me sigue diciendo lo mismo.
Desde ya gracias

Última edición por cyberpek fecha: 19-11-2008 a las 15:22:43.
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
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 de union ordenada Eolo SQL 2 05-07-2004 15:37:42
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 01:37:09.


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