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

query para agrupar.

Estas en el tema de query para agrupar. en el foro de SQL Server en Foros del Web. quisiera que me ayudaran ya que soy nueva en esto de sql y con el sql server mas. bueno tengo unas tablas de articulos y ...
  #1 (permalink)  
Antiguo 04/12/2008, 12:39
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
Exclamación query para agrupar.

quisiera que me ayudaran ya que soy nueva en esto de sql y con el sql server mas. bueno tengo unas tablas de articulos y quiero hacer esto.

ID_ART ALMACEN. CANTIDAD STOCK
1 almacen1 10
1 almacen2 20
2 almacen1 10
2 almacen2 30
3 almacen1 20
3 almacen 2 30

y que pueda quedar de esta manera. osea en columnas distinas los almacenes y las cantidades de stock en las filas de los articulos. si se puede con sql?. es mi pregunta.


ID_ART ALMACEN1 ALMACEN2
1 10 20
2 10 30
3 20 30


les agradecere mucho su ayuda.
  #2 (permalink)  
Antiguo 04/12/2008, 12:54
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Respuesta: query para agrupar.

Lo que tu necesitas es pasar de filas a columnas, es decir Usando Pivot (Solo con SQL 2005) que version de sql usas?
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #3 (permalink)  
Antiguo 04/12/2008, 14:07
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
Respuesta: query para agrupar.

sql server 2005. std. edit. pero si me ayuda a saber como ya que le busque por alguna instruccion del sql y o no me acuerdo o algo pasa.
  #4 (permalink)  
Antiguo 04/12/2008, 14:17
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: query para agrupar.

Un momento de locura antes de ir a almorzar.

[highlight=sql]
create table #table( art int, alm int, stock int)
create table #tableResult( art int )

insert into #table values( 1, 1, 10 )
insert into #table values( 1, 2, 20 )
insert into #table values( 2, 1, 10 )
insert into #table values( 2, 2, 30 )
insert into #table values( 3, 1, 20 )
insert into #table values( 3, 2, 30 )

declare @art int
declare @alm int
declare @stock int
declare @alterSQLtable as nvarchar(100)
declare @typeColumn as nvarchar(50)

set @typeColumn = 'int' -- DEPENDE DEL TIPO DE DE DATO DEL STOCK

-------------------------------------------------
-- CURSOR PARA CREAR LA TABLA CON LAS COLUMNAS --
-------------------------------------------------
DECLARE example_cursor CURSOR FOR
SELECT distinct alm
FROM #table
OPEN example_cursor

FETCH NEXT FROM example_cursor
INTO @alm
WHILE @@FETCH_STATUS = 0
BEGIN

set @alterSQLtable = 'alter table #tableResult add ['+ cast(@alm as varchar) + '] ' + @typeColumn +''%0
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD

Última edición por Thumper; 04/12/2008 a las 15:11
  #5 (permalink)  
Antiguo 04/12/2008, 14:27
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: query para agrupar.

Espero te sirva...

Understanding SQL 2005's new PIVOT clause

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 22:34.