sql >> Database >  >> RDS >> Sqlserver

Parallelle datum verkoop SQL-weergave

Voor klantverkopen in verschillende jaren.

SQL Fiddle-demo

SELECT DimCustomer.CustomerName,
       VW_Current.Saledate,
       VW_Current.ParallelDate,
       VW_Current.CurrentSales,
       VW_Previous.CurrentSales as ParallelSale

FROM   DimCustomer 
       INNER JOIN VW_ParallelSales VW_Current
           ON DimCustomer.CustomerKey = VW_Current.CustomerKey
       LEFT JOIN VW_ParallelSales VW_Previous
           ON VW_Current.ParallelDate = VW_Previous.Saledate
          AND DimCustomer.CustomerKey = VW_Previous.CustomerKey
ORDER BY 1, 2            

Voor productsleutel

SQL Fiddle-demo

With sales as (
    SELECT 
           DimProduct.ProductKey,
           DimProduct.ProductName,
           VW_ParallelSales.Saledate,
           VW_ParallelSales.ParallelDate,
           VW_ParallelSales.CurrentSales,
           VW_ParallelSales.ParallelSales
    FROM   DimProduct INNER JOIN VW_ParallelSales ON DimProduct.ProductKey = 
           VW_ParallelSales.ProductKey
)
SELECT 
   s_recent.ProductName,
   s_recent.Saledate ThisYear,
   s_old.Saledate PreviousYear,
   s_recent.CurrentSales CurrentSales,
   s_old.CurrentSales ParallelSales
FROM 
    SALES s_recent 
    left outer join SALES s_old 
        on s_recent.saledate = s_old.saledate + 10000
       and s_recent.ProductKey = s_old.ProductKey



  1. Hoe de ingebouwde stopwoordenlijst overschrijven door een door de gebruiker gedefinieerde lijst voor full-text stopwoorden in MySQL op LAMP?

  2. Controleer de taal van de tekenreeks op basis van glyphs in PHP

  3. DATETIMEFROMPARTS() Voorbeelden in SQL Server (T-SQL)

  4. Converteer javascript naar datumobject naar mysql-datumformaat (JJJJ-MM-DD)