Adventureworks 34. Oblicz sumę wartości pierwszego i ostatniego zamówienia.

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Baza: AdventureWorks

Zadanie nr: 34

Treść:  Oblicz sumę wartości pierwszego i ostatniego zamówienia.

Polecenia/funkcje w zapytaniu: SELECT, SELECT TOP 1, FROM, GROUP BY, ORDER BY, SUM()


SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.


Rozwiązanie:

Zapytanie:

SELECT
     'Suma pierwszego i ostatniego zamówienia' AS Info
    ,SUM(SQUERY.Wartosc) AS Wartość
FROM
    (    
    SELECT
         SUM(OD.OrderQty*OD.UnitPrice)AS Wartosc
    FROM    
        (
        SELECT TOP 1 O.SalesOrderID
        FROM Sales.SalesOrderHeader O
        ORDER BY O.OrderDate, SalesOrderID
        ) AS SQ
        JOIN Sales.SalesOrderHeader OH ON SQ.SalesOrderID = OH.SalesOrderID
        JOIN Sales.SalesOrderDetail OD ON SQ.SalesOrderID = OD.SalesOrderID
    GROUP BY
        OH.SalesOrderID

    UNION ALL

       SELECT
         SUM(OD.OrderQty*OD.UnitPrice)AS Wartosc
    FROM    
        (
        SELECT TOP 1 O.SalesOrderID
        FROM Sales.SalesOrderHeader O
        ORDER BY O.OrderDate DESC, SalesOrderID DESC
        ) AS SQ
        JOIN Sales.SalesOrderHeader OH ON SQ.SalesOrderID = OH.SalesOrderID
        JOIN Sales.SalesOrderDetail OD ON SQ.SalesOrderID = OD.SalesOrderID
    GROUP BY
        OH.SalesOrderID
    )AS SQUERY

       

Wynik:

SQL tutorial. AdventureWorks exercises. SQL SERVER.

Pobierz skrypt sql


SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.  SQL tutorial. AdventureWorks exercises no.34. SQL SERVER. SQL tutorial. AdventureWorks exercises no.34. SQL SERVER.