Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/09/2012, 06:52
eljuank1982
Usuario no validado
 
Fecha de Ingreso: abril-2010
Ubicación: La habana
Mensajes: 229
Antigüedad: 14 años
Puntos: 4
Query algo compleja

Hola:

Necesito obtener lo siguiente en un Select para luego manejar este resultado en una tabla temporal:
Producto, Plan Mensual, Plan Anual
La información la tengo que sacar de aquí:
EstablecimientoId PlanId RevisionId ProductoId ProveedorId PeriodoId PlanCantidad
1222 126 192 2781 4829 61 0,00
1222 126 192 2781 4829 62 0,00
1222 126 192 2781 4829 63 0,00
1222 126 192 2781 4829 65 0,00
1222 126 192 2781 4829 66 0,00
1222 126 192 2781 4829 67 0,00
1222 126 192 2781 4829 70 0,00
1222 126 192 2781 4829 71 0,00
1222 126 192 2781 4829 72 0,00
1222 126 192 2781 4829 74 0,00
1222 126 192 2781 4829 75 0,00
1222 126 192 2781 4829 76 0,00
1222 126 192 4010 1322 61 0,00
1222 126 192 4010 1322 62 0,00
1222 126 192 4010 1322 63 0,00
1222 126 192 4010 1322 65 0,00
1222 126 192 4010 1322 66 0,00
1222 126 192 4010 1322 67 0,00
1222 126 192 4010 1322 70 0,00
1222 126 192 4010 1322 71 0,00
1222 126 192 4010 1322 72 0,00
1222 126 192 4010 1322 74 0,00
1222 126 192 4010 1322 75 0,00
1222 126 192 4010 1322 76 0,00
Por ahora tengo estas dos querys separadas lo que no consigo es hacerlo todo en una solo mostrando lo que puse al inicio que será tabla temporal:
Código:
SET language 'spanish' 
SELECT  [EstablecimientoId] ,
        [PlanId] ,
        [RevisionId] ,
        [ProductoId] ,
        [ProveedorId] ,
        pp.PeriodoId ,
        [PlanCantidad] AS 'Plan Mensual' ,       
        ppp.Descripcion
FROM    [PlanComprasNuevo].[dbo].[PlanProducto] pp
        INNER JOIN [PlanComprasNuevo].dbo.fnDame_PeriodoPlanProducto (126) ppp ON ppp.PeriodoId = pp.PeriodoId
WHERE   EstablecimientoId = 1222
        AND PlanId = 126
        AND RevisionId = 192
        AND ppp.Descripcion = CONVERT(VARCHAR(255), DATENAME(MONTH, GETDATE()))
GROUP BY EstablecimientoId ,
        [PlanId] ,
        [RevisionId] ,
        [ProductoId] ,
        [ProveedorId] ,
        pp.PeriodoId ,
        [PlanCantidad],
        ppp.Descripcion


SELECT [EstablecimientoId]
      ,[PlanId]
      ,[RevisionId]
      ,[ProductoId]
      ,[ProveedorId]
      ,SUM (PlanCantidad) AS 'Plan Anual'
      
  FROM [PlanComprasNuevo].[dbo].[PlanProducto]
  WHERE EstablecimientoId = 1222
  AND PlanId = 126
  AND RevisionId = 192
    
  GROUP BY 
  [EstablecimientoId]
      ,[PlanId]
      ,[RevisionId]
      ,[ProductoId]
      ,[ProveedorId]
Para obtener la tabla que deseo no puedo hacer uso de CTE porque ya lo tengo implementado en la query en la que usaré la tabla temporal.

Salu2 y gracias de antemano