RE: Ayuda con Select

From: Fernando Siguenza <fsigu(at)hotmail(dot)com>
To:
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Ayuda con Select
Date: 2010-05-07 20:13:21
Message-ID: SNT108-W7D3B9DBED5C756762E97AA1F60@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Amigos como estan, en otro foro me ayudaron con la respuesta de lo que necesito pero solo que esta en sqlserver, ahi veo que hay una funcion pivot que hace lo que necesito, la consulta es algo como la siguiente

select bunlarcod,Total = [0]+[1]+[2]+[3]+[4]+[5],dia0 = [0], dia1 = [1], dia2 = [2], dia3 = [3], dia4 = [4], dia5 = [5]

from

(

select bunlarcod, buncod, datediff(dd, bunfec, getdate()) as dias

from bunche

where bunfec >= dateadd(dd, -5, cast(convert(char(8),getdate(), 112) as smalldatetime))

) T

PIVOT (count(buncod) FOR dias in ([0], [1], [2], [3], [4], [5]))

as P

Ahora mi duda Hay alguna funcion parecida a la pivot en postgre???

Saludos

Date: Fri, 7 May 2010 11:50:13 +0200
From: mlortiz(at)uci(dot)cu
To: fsigu(at)hotmail(dot)com
CC: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Ayuda con Select

El 07/05/2010 17:39, Fernando Siguenza escribió:

Amigos como estan, queria ver si me pueden ayudar a armar un select, tengo la siguiente tabla.

buncod
bunvarcod
bunlarcod
buntll
bunenvcod
bunfec
bunest

A00065
FRE
10
25
1
2010-05-04

A00066
FRE
20
25
1
2010-05-04

A00067
FRE
20
25
1
2010-05-04

A00068
FRE
20
25
1
2010-05-04

A00069
FRE
20
25
1
2010-05-04

A00070
FRE
20
25
1
2010-05-05


Es una tabla donde se almacena la informacion de ramos de flores, cada ramo tiene su codigo, indica la variedad a la que pertenece, el largo de las flores, el numero de tallos por ramo, el codigo de la envoltura la fecha de corte y el estado.

Entonces, lo que deseo es obtener cuantos ramos tengo disponible de una variedad, de una envoltura especifica, y del numero de tallos por ramo, esto agrupado por el largo de cada ramo y cuanto tengo por dia.

Algo como esto.

largo
dia0
dia1
dia2
dia3
dia4
dia5

10
0
0
0
1
0
0

20
0
0
1
4
0
0
Tomando en cuenta que el dia0 es el dia actual, el dia 1 seria ayer, y asi sucesivamente.

Dentria ya como parametro el dia maximo del que se desa ver en este caso el dia 5, el codigo de la variedad, el numero de tallos que desea consultar y la envoltura.

Entonces queria ver si hay como obtenerlo en un solo select.

Espero me puedan ayudar.

Discover the new Windows Vista Learn more!
Me imagino que podría ayudarte algo como esto:

SELECT buntll, count(buncod) as cantidad, FROM tabla_ramos_flores e
WHERE e.bunvarcod = 'FREE'
AND e.bunenvcod = 'ENVOLTURA ESPECÍFICA'
GROUP BY buntll

Saludos


_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Hevia 2010-05-07 20:58:03 RE: Ayuda con Select
Previous Message Vladimir Urquia Cordero 2010-05-07 18:37:46 Ayuda sobre vistas materializadas!!