Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Select Con Grupos¿?

Estas en el tema de Select Con Grupos¿? en el foro de PostgreSQL en Foros del Web. Hola amigos tengo una duda respecto a un select el cual tiene que agrupar el contenido por un campo en especifico espero alguien me heche ...
  #1 (permalink)  
Antiguo 08/05/2008, 16:32
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Select Con Grupos¿?

Hola amigos tengo una duda respecto a un select el cual tiene que agrupar el contenido por un campo en especifico espero alguien me heche una manita, les explico un poco mas lo que quiero hacer.
Quiero obtener mis registros en base a condiciones o criterios que yo misma establesco y que estos a su vez se muestren por cada grupo , es decir tendria registros dentro de un grupo que cumplieran mi primer criterio o condicion y asi sucesivamente pero no logro plasmarlo bien en postgresql.
  #2 (permalink)  
Antiguo 09/05/2008, 03:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Select Con Grupos¿?

Explica más detalladamente que quieres hacer.

Un saludo
  #3 (permalink)  
Antiguo 09/05/2008, 08:29
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Hola claro lo explico con mas detalle, el casoe s que necesito mostrar mis registros en grupos o dicho de otra forma divididos o separados dependiendo dichas condiciones o criterios, esto es para mostrarlos en un reporte cuyos registros deben aparer por grupos. ejemplo.
Tengo una tabla que guarda de donde saco los registros la cual tiene por decir algo 30 registros, los cuales tengo que separarlos dependiendo tres critrerios una vez que tengo por separado los registros tengo que hacer otra separacion en cada criterio y agruparlos por producto.



1.- REGISTROS DEL PRIMER CRITERIO
PRODUCTOA
*10*123*PGLSR-W*PA*100*500*..........................etc.
*20*124*ABC-QWD*PA..........................
*30*..............
*40*126*.............etc

PRODUCTOB
*60*130*LKS-QWE*PB*200*1000*..........
*70*131*LD-CD*PB*50*250.....ETC

PRODUCTOC
*100*135*KFG-CDS*PC*400*800*.......

2.-REGISTROS QUE CUMPLEN EL SEGUNDO CRITERIO
PRODUCTOa
*110*150*PASQ-WD*PA*200*600.......

PRODUCTOB
*120*151*ASD-HGF*PB*100*700*.....ETC.
*130*155*ÑL25F*PB*40*125*............

PRODUCTOC

(O REGISTROS ENE STA CLASIFIACION Y EN ESTE PRODUCTO)

3.- TERCER CRITERIO

PRODUCTOA
*160*162*ASD-LKD*PA*600*5489*.....
PRODDUCTOB
*30*180*LK-DFG*PB*456*1478*......etc.
PRODUCTOC
*15*124*NULL*PC*235*624*...etc.

Esta es la salida que quiero vizualizar en el reporte, pero en el query no se como hacerlo.
Espero haya sido un poco mas explicita.
Gracias Saludos.
  #4 (permalink)  
Antiguo 09/05/2008, 10:21
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Select Con Grupos¿?

No te entiendo, pero para agrupar resultados esta la clausula GROUP BY
Código PHP:
GROUP BY criterio 
  #5 (permalink)  
Antiguo 09/05/2008, 14:39
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Hola Sergestux ,Mira te explico un poco mas le nombro criterio a una condicion, y la agrupacion la quiero por productos.la salida que muestro es la que quiero en el reporte no en el query , solo que no se como hacer mi select, te pongo un ejemplo de como la estoy haciendo.




SELECT T.c1,T.c2,P.NOMBRE AS PRODUCTO
FROM TABLA T
LEFT JOIN PRODUCTO P ON T.PID=P.PID
WHERE T.C1=TC2(AQUI DETERMINO MI CRITERIO1)

EL PROBLEMA ES QUE SON 3 CRITERIOS Y ES EL MISMO SELECT SOLO VARIAN LAS CONDICIONES, ES DECIR NECESITO LOS MISMOS CAMPOS PARA CADA DIVISION O CRITERIO PERO CON CONDICIONES DIFERENTES LAS CONDICIONEN VARIAN DEPENDIENDO EL CRITERIO Y DENTRO DE CADA CRITERIO REQUIERO UNA AGRUPACION DEPENDIENDO DEL PRODUCTO AL QUE PERTENEZCAN.
ESPERO NO CONFUNDIRLOS Y QUIERO SABER SI SE PUEDE AHCER ESTO EN POSTGRES.
SALUDOS

Última edición por mayte85; 10/05/2008 a las 08:33
  #6 (permalink)  
Antiguo 09/05/2008, 17:09
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Select Con Grupos¿?

Discúlpame por ser tan cerrado, pero sigo sin comprenderte del todo, pero supongo que si sabes el uso de las clausulas GROUP BY y ORDER BY, me parece que con esas tienes suficiente

P.D.T. Eres de Sinaloa por eso del 'ira te explico'?
  #7 (permalink)  
Antiguo 10/05/2008, 08:31
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Hola, no claro que no soy de sinaloa fue error de dedo jejeje me causo gracia eso no me habia dado cueta.

Haber soy mala explicando lo que quiero hacer, lo intentare de nuevo.
Se como funcionan las lausulas GROUP BY y ORDER BY, una sirve para agrupar y la otra apra ordenar.

Mira Sergestux mi intento hacer un reporte donde me muestre el resultado como anteriormente puse la salida. pero no consigo hacerlo, no se si necesito hacer subconsultas o alguna otra cosa.
El punto es que necesito separar mis registros por condiciones es decir hay registros que cumplen una condicion o yo lo llamo que pertenecen a u criterio determinado y otros ams a otros dos criterios mismos que defino. por ejemplo yo defino que mi criterio 1 sea cuando mi campo1 sea igual a mi campo 2 por asi decirlo.
pero asu vez aquellos que estan dentro de ese criterio 1 deben ser clasificados por su tipo de producto llamese productoA,productoB,productoC..etc.
y asi sucesivamente con los demas criterios.

Si consideran que aqui no debo postear esta duda porfavor señalenme el foro indicado o cercano para que puedan resolver mi duda que por lo que veo es muy confusa, o talvez no se pueda hacer esto.
saludos.
  #8 (permalink)  
Antiguo 10/05/2008, 08:31
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Cita:
Iniciado por Sergestux Ver Mensaje
Discúlpame por ser tan cerrado, pero sigo sin comprenderte del todo, pero supongo que si sabes el uso de las clausulas GROUP BY y ORDER BY, me parece que con esas tienes suficiente

P.D.T. Eres de Sinaloa por eso del 'ira te explico'?
  #9 (permalink)  
Antiguo 12/05/2008, 02:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Busqueda Re: Select Con Grupos¿?

Cita:
Iniciado por mayte85 Ver Mensaje
El punto es que necesito separar mis registros por condiciones es decir hay registros que cumplen una condicion o yo lo llamo que pertenecen a u criterio determinado y otros ams a otros dos criterios mismos que defino. por ejemplo yo defino que mi criterio 1 sea cuando mi campo1 sea igual a mi campo 2 por asi decirlo.
pero asu vez aquellos que estan dentro de ese criterio 1 deben ser clasificados por su tipo de producto llamese productoA,productoB,productoC..etc.
y asi sucesivamente con los demas criterios.
Hola, no me entero muy bien...

Por ejemplo si el criterio1 es que campo1 = campo2 y quieres agrupar por productos:
Código:
select *
from tabla join ....
where campo1 = campo2
group by tipo_producto;
Esto no lo he contestado ya antes?

Un saludo
  #10 (permalink)  
Antiguo 12/05/2008, 09:57
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

hola agradezco el interes en contestar ya estoy un poco desesperada solo quiero dividir mis registros en tres clasificaciones y dentro de cada clasificacion la quiero dividir por tipo de produucto.
Sera que se puede hacer esto desde postgresql, si es asi algun ejemplo¿?.
Saludos a todos.
  #11 (permalink)  
Antiguo 13/05/2008, 01:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Select Con Grupos¿?

mayte si no te entendemos no te podemos dar un ejemplo.
Si das la descripcion de las tablas (reales), ejemplos de datos (reales o ficticios) y el resultado exacto que te gustaria sacar (con esos datos), entonces seguro que te ayudamos mejor.

Un saludo
  #12 (permalink)  
Antiguo 13/05/2008, 09:17
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

claro perdon por no ser tan clara.
Como ya habia mencionado antes en lo que estoy trabajando es en un reporte, el cual tedria que estar clasificado y cada clasificacion tienen que estar dividido por productos.
Tampoco se si deba postear aqui mi duda que por lo que veoe s algo confusa o imposible de hacer si no es aqui donde debo postearla les pido la muevan al lugar indicado o foro adecuado, lo escribo aqui por que pienso que talvez desde postgres se pueda hacer ya que en el reporteador no he podido.

Esta es mi tabla de donde saco la informacion.

CREATE TABLE ventasg

(
ventasg_id numeric(10) NOT NULL,
car numeric(190) NOT NULL,
cantidadc numeric(14,3),
totali numeric(14,3),
preciou numeric(14,3),
cliente_id numeric(10) NOT NULL,
tproducto_id numeric(10) NOT NULL,
sucursal_id numeric(10) NOT NULL,
vehiculo_id numeric(10) NOT NULL,
inicial integer,
final integer,

CONSTRAINT ventasg_pkey PRIMARY KEY (ventasg_id),
CONSTRAINT ventasg_cliente_id_fkey FOREIGN KEY (cliente_id)
REFERENCES cliente (cliente_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT ventasg_tproducto_id_fkey FOREIGN KEY (tproducto_id)
REFERENCES tproducto (tproducto_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT ventasg_sucursal_id_fkey FOREIGN KEY (sucursal_id)
REFERENCES sucursal (sucursal_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT ventasg_vehiculo_id_fkey FOREIGN KEY (vehiculo_id)
REFERENCES vehiculo (vehiculo_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Esta es mi tabla de donde saco toda mi informacion el select que tengo ene stos momentos solo funciona para mi primer clasificacion y dentro de esa clasificacion tiene la division por producto esto ya en el reporte.

SELECT C.NOMBRE AS CLIENTE,CAR,V.VEHICULO_ID AS VEHICULO,v.inicial,v.final,VH.PLACAS,
(INICIAL-FINAL)AS M,
((INICIAL-FINAL)/CANTIDADC) AS KL,
CANTIDADC,TOTALI AS IMPORTE,TP.NOMBRE AS TPRODUCTO,
(CASE WHEN TP.NOMBRE='PA' THEN 'PRODUCTOA' ELSE '' END) AS GRUPOA,
(CASE WHEN TP.NOMBRE='PB' THEN 'PRODUCTOB' ELSE '' END) AS GRUPOB,
(CASE WHEN TP.NOMBRE='PC' THEN 'PRODUCTOC' ELSE '' END) AS GRUPOC,
(CASE WHEN INICIAL != FINAL THEN '1.-CLASIFICACION1' ELSE '' END) AS C1,
(CASE WHEN INICIAL=FINAL THEN '2.-CLASIFICACION2' ELSE ''END ) AS C2,
(CASE WHEN INICIAL & FINAL=0 THEN ' 3.-CLASIFICACION3' ELSE '' END )AS C3

FROM VENTASG V
LEFT JOIN VEHICULO VH ON V.VEHICULO_ID=VH.VEHICULO_ID
LEFT JOIN TPRODUCTO TP ON V.TPRODUCTO_ID=TP.TPRODUCTO_ID
LEFT JOIN CLIENTE C ON V.CLIENTE_ID=C.CLIENTE_ID

WHERE INICIAL!= FINAL (NOTESE QUE FUNCIONA PARA UNA CLASIICACION POR ESTA CONDICION FINAL)

ORDER BY TPRODUCTO

Y ESTA ES AL SALIDA QUE QUIERO:




************************************************** ************************

.- C1 (ESTA PUEDE SER UNA ETIQUETA PERO SOLO PUEDE APARECER CUANDO SEA CUMPLA EL CASO)
PRODUCTOA
.........................etc.
..........................
.............................(registros dentro de ese producto y en c1)

PRODUCTOB
..............................(solo un renglon)
PRODUCTOC
.................................
............................................(2row)


2.- C2
PRODUCTOA

.............................(registros dentro del producto y en c2)

PRODUCTOB
..............................(solo un renglon)
PRODUCTOC
.................................
....................................
......................................(3row)



3.- C3
PRODUCTOA
.........................etc.

PRODUCTOB
..............................(solo un renglon)
PRODUCTOC
(0 row)

Bueno espero y me explique un poco mas cualquier duda estoy a sus ordenes y muchas gracia spor el iteres.
Si creen que lo que quiero hacer debe hacerse desde el reproteador les agradeceria me indicaran el foro para ponerlo.
Saludos.
  #13 (permalink)  
Antiguo 13/05/2008, 09:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Select Con Grupos¿?

lo siento pero sigo sin tenerlo muy claro, donde estan los datos y el resultado que quieres?

Por ejemplo:
create table personas (id integer, nombre text, apellido1 text, apellido2 text);

datos:
id nombre apellido1 apellido2
1 jose marquez lopez
2 luis garcia gonzalez

resultado de ordenar por nombre, deberia salir:
jose
luis


Pero el resultado que quieres, con ello podemos ver que quieres sacar, no me des la estructura del reporte.

No te preocupes, este es el foro adecuado.

A la espera
  #14 (permalink)  
Antiguo 13/05/2008, 10:29
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

ok Gracias seyko por el interes no sabes me has ayudado mucho.
con la tabla antes mencionada seria asi:

CLASIFICACION1:
PRODUCTOA
ID VEHICULO PLACAS CANTIDAD IMPORTE INICIAL FINAL
12 145 JDF-125 100 250 15 36
PRODUCTOB
16 148 KJH-125 50 150 14 26

PRODUCTOC
0 ROWS

CLASIFICACION2
PRODUCTOA
10 140 KJD-145 25 25
PRODUCTOB
0 ROWS
PRODUCTOC
11 141 KJD-KDJ 10 10
......................................ETC....
  #15 (permalink)  
Antiguo 13/05/2008, 10:30
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Espero Se Entienda
  #16 (permalink)  
Antiguo 13/05/2008, 10:41
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Select Con Grupos¿?

ok, ahora si!

bien lo que quieres se puede hacer de muchas formas, la más simple es con UNION.

select tus_campos, 'Condicion1' as condicion
from tus_tablas
where Condicion1

UNION


select tus_campos, 'Condicion2' as condicion
from tus_tablas
where Condicion2

...

Espero que te sirva.
  #17 (permalink)  
Antiguo 13/05/2008, 10:46
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Gracias Lo Probare Ups Por Fin Me Explique Jejejej Saludos Seyko
  #18 (permalink)  
Antiguo 13/05/2008, 11:29
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Select Con Grupos¿?

Por que los programadores seremos tan complicados para explicar, eso me hace recordar esta imagen que al parecer explica muy bien como nos enredamos todos los que tenemos que ver con el desarrollo de un sistema.
http://bp3.blogger.com/_8FSqsDcCA-Y/...r+analista.jpg
  #19 (permalink)  
Antiguo 13/05/2008, 11:31
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Hola Me Funciono Perfecto Solo Con Un Pequeño Detalle Al Querer Ordenarlos Por Clasificacion Y Producto Me Manda Un Error De Que No Existe La Condicion2 Y 3 Solo Reconoce La Condicion1, A Que Se Debe ¿?
Quiero Ordenarlos Por Clasificaciones Y Por Producto Es Decir La Primera La Segunda La Tercera Y Sus Productos En Cada Clasificacion.
  #20 (permalink)  
Antiguo 13/05/2008, 11:39
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Re: Select Con Grupos¿?

Mira lo que dice la definicion de UNION
Cita:
UNION Clause

The UNION clause has this general form:
select_statement UNION [ ALL ] select_statement

select_statement is any SELECT statement without an ORDER BY, LIMIT, FOR UPDATE, or FOR SHARE clause. (ORDER BY and LIMIT can be attached to a subexpression if it is enclosed in parentheses. Without parentheses, these clauses will be taken to apply to the result of the UNION, not to its right-hand input expression.)
En conclusion, encierra entre parentesis los campos de ordenamiento, d elo contarrio el orden se aplica al resultado final de la UNION
  #21 (permalink)  
Antiguo 13/05/2008, 11:40
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Lo que quiero es que primero muestre los de la clasificacion 1 ,c2,c3.
  #22 (permalink)  
Antiguo 13/05/2008, 11:44
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

disculpame pero no etnendi muy bien lo que quiere decir, haber la respuesta es que encierre entre parestesis el oreder by.
puedes exlicarme mas
  #23 (permalink)  
Antiguo 13/05/2008, 16:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Re: Select Con Grupos¿?

mayte85,

pon la consulta completa que has lanzado y te da problemas para que veamos si utilizas o no paréntesis, y cuál puede ser el problema.
  #24 (permalink)  
Antiguo 13/05/2008, 16:54
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Hola estoy poniendo algo asi

select CAMPOA,B,C,D, 'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tus_tablas
where Condicion1

UNION


select CAMPOA,B,C,D,'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tus_tablas
where Condicion2

UNION

select CAMPOA,B,C,D, 'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tus_tablas
where Condicion3

ORDER BY CONDICION1 DESC,CONDICION2 DECS,CONDICION3 DESC,PRODUCTO ASC

Y DE ESTA MANERA ME FUNCIONA MI DUDA AHORA ES COMO PUEDO METERLE PARAMETROS A ESTA CONSULTA¿?

TENDRIA QUE SER POR CADA SELECT O HAY ALGUNA MANERA DE PASARLE UN PARAMETRO EN GENERAL EJEMPLO

WHERE FECHA='2008-02-24'

SE PUEDE ASI¿?
  #25 (permalink)  
Antiguo 13/05/2008, 16:55
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Algunaidea O Sugerencia
  #26 (permalink)  
Antiguo 14/05/2008, 00:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Re: Select Con Grupos¿?

No trabajo con PostgreSQL, sino con MysqL, pero no creo que haya muchas diferencias entre ambas bases para hacer esto.

Prueba primero algo así

(select CAMPOA,B,C,D, 'Condicion1' as condicion,'condicion2' as condicion2,'condicion3' as condicion3
from tus_tablas
where Condicion1=loquesea and FECHA='2008-02-24')

UNION ALL


(select CAMPOA,B,C,D,'Condicion1' as condicion,'condicion2' as condicion2,'condicion3' as condicion3
from tus_tablas
where Condicion2=loquesea and FECHA='2008-02-24')

UNION ALL

(select CAMPOA,B,C,D, 'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tus_tablas
where Condicion3=loquesea and FECHA='2008-02-24')

ORDER BY CONDICION1 DESC,CONDICION2 DESC,CONDICION3 DESC,PRODUCTO ASC

Por cierto: no veo PRODUCTO en la selección, aunque tal vez sea uno de esos campos A, B,C o D. Si no es así, deberías añadirlo dentro de los tres select.
Te he puesto la fecha dentro de cada uno de los select porque ya tienes un where. Tal vez se podría hacer con subconsulta, con un select por delante de estas uniones, pero así creo que también funcionará...

Última edición por jurena; 14/05/2008 a las 00:47
  #27 (permalink)  
Antiguo 14/05/2008, 08:17
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Gracias lo probare si no funciona estare de nuevo aqui molestandolos con su ayuda.
saludos
  #28 (permalink)  
Antiguo 14/05/2008, 08:49
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Select Con Grupos¿?

Hola De Nuevo Yo Para Informar Que Funciono, Muchisimas Gracias A Todos Por Su Colaboracion En El Tema.
  #29 (permalink)  
Antiguo 25/06/2008, 16:56
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Select Con Grupos¿?

Hola foristas neuvamente paso por el foro y lanzo una nueva duda sobre este tema, anteriormente solucione mi problema usando select union all, pero ahora quisiera que me arrojara solo los distintos y que no me repita el vehiculo,cliente.
Es decir mi consulta arroja 22 veces el vehiculo por cada transaccion que hace, quiero que solo me muestre por vehiculo cuantas cargas realizo y no cada una de las cargas que hizo el vehiculo.
Espero me hayan entendido.

Este es mi select

select CAMPOA,B,C,D, 'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tabla
where Condicion1

UNION ALL


select CAMPOA,B,C,D,'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tabla
where Condicion2

UNION ALL

select CAMPOA,B,C,D, 'Condicion1' as condicion,'condicion2'as condicion2,'condicion3' as condicion3
from tabla
where Condicion3
  #30 (permalink)  
Antiguo 26/06/2008, 01:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Respuesta: Select Con Grupos¿?

Buenas Mayte, si partimos de que tienes algo asi:

Código:
select vehiculo, carga from tabla where condicion1
union all
select vehiculo, carga from tabla where condicion2
Y quieres que te salga el vehiculo y el numero de cargas, prueba algo como:
Código:
select vehiculo, sum(cargas) from (
select vehiculo, count(carga) as cargas from tabla where condicion1
union all
select vehiculo, count(carga) as cargas from tabla where condicion2
) foo
Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:34.