Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
tryhp3
Mam 4 tabele
(nie wypisuje wszystkich pól)

FakturaSprzet:
ID
FakturaID
Koszt

Faktura:
ID
DataDodania
DostawaID

RejestracjaPojazduDostawczego: (który obsługuje konkretną dostawę)
DostawaID
PojazdRejestracjaID

PojazdRejestracja:
ID
NumerRejestracja

Trzeba wybrać datę początkową i końcową (np 1 styczeń i 31 marzec) i policzyć sumę faktur obsługiwanych przez pojazd w miesiącu
wynik zapytania ma wyglądać mniej więcej tak:

NumerRejestracja | 01 Sty-31 Sty | 01Lut -28Lut | 01 Mar - 31 Mar
RDE-xx03 | 1000zł | 2000zł | 400zł
KT-001 | 2000zł | 400zł | 500zł
RZ-00001 | 3000zł | 750zł | 600zł

problem jest takie żeby to pogrupować w kolumnach po pełnych miesiącach, jak za to się zabrać?
Ja próbowałem wykorzystać do tego Pivot ale za słabym skutkiem...

http://www.kodyaz.com/articles/t-sql-pivot...h-examples.aspx - tu jest rozwiązanie
  1. SELECT *
  2. FROM(
  3. SELECT
  4. YEAR(DueDate) [Year],
  5. CASE MONTH(DueDate)
  6. WHEN 1 THEN 'January'
  7. WHEN 2 THEN 'February'
  8. WHEN 3 THEN 'March'
  9. WHEN 4 THEN 'April'
  10. WHEN 5 THEN 'May'
  11. WHEN 6 THEN 'June'
  12. WHEN 7 THEN 'July'
  13. WHEN 8 THEN 'August'
  14. WHEN 9 THEN 'September'
  15. WHEN 10 THEN 'October'
  16. WHEN 11 THEN 'November'
  17. WHEN 12 THEN 'December'
  18. END AS [Month],
  19. ProductID,
  20. OrderQty
  21. FROM Production.WorkOrder
  22. ) WorkOrders
  23. PIVOT
  24. (
  25. SUM(OrderQty)
  26. FOR [Month] IN (
  27. [January],[February],[March],[April],
  28. [May],[June],[July],[August],
  29. [September],[October],[November],[December]
  30. )
  31. ) AS PivotTable
  32. ORDER BY [Year], ProductID

tylko jak odfiltrować kolumny gdzie są Nulle?
john_doe
WHERE kolumna IS NOT NULL questionmark.gif?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.