pivotar solo media tabla

23/01/2007 - 13:21 por -=joselitux=- | Informe spam
Hola

Sé como pivotar una tabla entera pero...¿que pasa cuando lo que quiero
es pivotar solo una parte de la tabla?
La tabla es la siguiente:

cliente banco fecha contrato
paco caja madrid 1/enero/2006
pedro caja murcia 4/mayo/2005
juan caja cataluña 6/febrero/2007
manolo caja madrid 4/mayo/2005
luis caja madrid 4/mayo/2005


quiero obtener una vista con los datos agrupados por fecha y banco del
siguiente modo

fecha caja madrid caja murcia caja cataluña
1/enero/2006 1 0 0
4/mayo/2005 2 1 1

Con Access es MUY sencillo porque gracias a los comandos SWL TRANSFORM Y
PIVOT la cosa sale del tirón...pero no he encontrado comandos semejantes
en SQL server..


Gracias mil

Preguntas similare

Leer las respuestas

#1 -=joselitux=-
23/01/2007 - 17:04 | Informe spam
El operador pivot no me funciona en SQL 2005

Esto es lo que intenté:

SELECT banco,
[caja madrid] AS entidad1,
[caja murcia] AS entidad2,
[caja cataluña] AS entidad3,

FROM
(SELECT banco, cliente, fecha
FROM TABLA) s
PIVOT
(
COUTN(FECHA)
FOR banco IN ([caja madrid],[caja murcia],[caja cataluña])
) p
ORDER BY [banco]



SIEMPRE ME DA "ERROR EN PIVOT"





Alejandro Mesa wrote:
"-=joselitux=-" ,

- Cual version de SQL Server estas usando?
- A que te refieres cuando dices que quieres pivotear solo una parte de la
tabla?





Hola

Sé como pivotar una tabla entera pero...¿que pasa cuando lo que quiero
es pivotar solo una parte de la tabla?
La tabla es la siguiente:

cliente banco fecha contrato
paco caja madrid 1/enero/2006
pedro caja murcia 4/mayo/2005
juan caja cataluña 6/febrero/2007
manolo caja madrid 4/mayo/2005
luis caja madrid 4/mayo/2005


quiero obtener una vista con los datos agrupados por fecha y banco del
siguiente modo

fecha caja madrid caja murcia caja cataluña
1/enero/2006 1 0 0
4/mayo/2005 2 1 1

Con Access es MUY sencillo porque gracias a los comandos SWL TRANSFORM Y
PIVOT la cosa sale del tirón...pero no he encontrado comandos semejantes
en SQL server..


Gracias mil


Respuesta Responder a este mensaje
#2 Ele
23/01/2007 - 17:05 | Informe spam
si tu version de sql no cuenta con la herramienta para hacer este cross tab
no hay otra solucion que hacerlo manualmente te paso un tip (si es lo que te
entendi )
Select
Fecha
,Madrid= Sum (Case When banco Like 'caja madrid' Then 1 Else 0 End )
,Murcia= Sum (Case When banco Like 'caja murcia' Then 1 Else 0 End )
,Cataluna= Sum (Case When banco Like 'caja cataluña' Then 1 Else 0 End )
From tabla
Group By Fecha

"-=joselitux=-" escribió en el mensaje
news:
Hola

Sé como pivotar una tabla entera pero...¿que pasa cuando lo que quiero es
pivotar solo una parte de la tabla?
La tabla es la siguiente:

cliente banco fecha contrato
paco caja madrid 1/enero/2006
pedro caja murcia 4/mayo/2005
juan caja cataluña 6/febrero/2007
manolo caja madrid 4/mayo/2005
luis caja madrid 4/mayo/2005


quiero obtener una vista con los datos agrupados por fecha y banco del
siguiente modo

fecha caja madrid caja murcia caja cataluña
1/enero/2006 1 0 0
4/mayo/2005 2 1 1

Con Access es MUY sencillo porque gracias a los comandos SWL TRANSFORM Y
PIVOT la cosa sale del tirón...pero no he encontrado comandos semejantes
en SQL server..


Gracias mil

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida