none
AYUDA CON CONSULTA SQL SERVER 2008 RRS feed

  • Pregunta

  • Favor de ayudarme con esta sentencia SQL que necesito para mi trabajo,

    la siguiente consulta devuelve el stock por almacén, la columna WhsCode contiene el nombre de los almacenes, para este caso he utilizado la sentencia case when para obtener las cantidades x almacen , mi consulta es como hago para agrupar los resultados que arroja el case when ......lineas abajo esta el resultado que arroja esta sentencia

    ****Sentencia SQL******

    select 
    T0.Itemcode as 'Codigo'
    ,T0.ItemName as 'Producto'
    --, cast(sum(T1.OnHand) as numeric(19,0)) as 'Stock'
    ,'LIMA'= case
    when  T1.WhsCode='AL_CENT'  
    then  cast(sum(T1.OnHand) as numeric(19,0))
    END
    ,'AREQUIPA'= case
    when  T1.WhsCode='AL-ARQPA'  
    then  cast(sum(T1.OnHand) as numeric(19,0)) 
    end 
    ,'TRUJILLO'= case
    when  T1.WhsCode='AL-TRUJ' 
    then  cast(sum(T1.OnHand) as numeric(19,0)) 
    end 
    ,'PIURA'= case
    when  T1.WhsCode='AL-PIURA'
    then  cast(sum(T1.OnHand) as numeric(19,0))
    end 
    , T3.name as 'Unidad' 
    , T2.Name as 'Linea' 
    from [dbo].OITM T0
    inner join [dbo].OITW T1 on T0.ItemCode=T1.ItemCode
    inner join  [dbo].ITM1 T4 on T0.ItemCode=T4.ItemCode
    left outer join [dbo].[@olinart] T2 on T2.Code=T0.U_ArtLinea
    left outer join [dbo].[@OUMEDIDA] T3 on T3.Code=T0.salunitmsr
    where T1.WhsCode in ('AL_CENT','AL-ARQPA','AL-TRUJ','AL-PIURA')
    and T2.code in ('013')
    and T1.OnHand<>0
    and T4.PriceList ='1'
    and t0.ItemCode='013010001'
    group by T0.Itemcode,T0.ItemName ,T1.WhsCode,T2.code,T3.name,T2.Name ,T1.OnHand
    order by 5

    *****fin sentencia*****

    En el siguiente resultado deberia agruparse la cantidad por almacén , osea debe haber una sola fila y las cantidades por cada almacen , si no hubiese resultado deberia arrojarme valor cero

    *****Resultado***

    jueves, 17 de mayo de 2012 19:20

Respuestas

Todas las respuestas