Baza : Northwind
Ćwiczenie nr: 34
Treść ćwiczenia: Wyświetl dane dotyczace pierwszego i ostatniego zamówienia. Zakres danych: Identyfikator zamówienia, Liczba pozycji w zamówieniu, Wartość zamówienia.
Polecenia/funkcje w zapytaniu: SELECT, SELECT TOP, FROM, WHERE, COUNT(), SUM(), INNER JOIN, GROUP BY, ORDER BY
Rozwiązanie:
Zapytanie:
SELECT
'Pierwsze zamówienie' AS Info
,D.OrderID AS IdentyfikatorZamowienia
,COUNT(*) AS LiczbaPozycji
,SUM(D.Quantity*D.UnitPrice) AS WartoscZamowienia
FROM
(
SELECT TOP 1
O.OrderID
FROM
Orders O
ORDER BY
O.OrderDate, O.OrderID
) AS SQ
JOIN [Order Details] D ON SQ.OrderID = D.OrderID
GROUP BY
D.OrderID
UNION ALL
SELECT
'Ostatnie zamówienie' AS Info
,D.OrderID AS IdentyfikatorZamowienia
,COUNT(*) AS LiczbaPozycji
,SUM(D.Quantity*D.UnitPrice) AS WartoscZamowienia
FROM
(
SELECT TOP 1
O.OrderID
FROM
Orders O
ORDER BY
O.OrderDate DESC, O.OrderID DESC
) AS SQ
JOIN [Order Details] D ON SQ.OrderID = D.OrderID
GROUP BY
D.OrderID
Wynik uruchomienia zapytania
Liczba rekordów: 2