Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: szczur3k w Listopad 08, 2019, 12:13:18

Tytuł: Zapytanie do bazy - zastawienie dokumentów po tygodniach.
Wiadomość wysłana przez: szczur3k w Listopad 08, 2019, 12:13:18
Hej.

Potrzebuję zrobić zapytanie którego wynikiem będzie tabela w której znajdzie się ilość sprzedanych w danym tygodniu towarów. Póki co stworzyłem zapytanie:

SELECT T.tw_nazwa Nazwa, SUM(V.ob_IloscMag * V.ob_Znak) Ostatni FROM subiekt.dbo.vwZstSprzWgKhnt V
LEFT JOIN subiekt.dbo.tw__Towar T ON T.tw_id = ob_TowId
WHERE
dok_Status != 2 AND
subiekt.dbo.fnMAKE_DOKPARAM(dok_Typ, dok_Podtyp) IN (131072, 131074, 131075, 131076, 131077, 262144, 393216, 393217, 393218, 1376256, 1376257, 1376258, 1376259, 917504, 917505, 4063232) AND
V.dok_MagId IN (1) AND
ob_TowRodzaj & 15 > 0 AND
datepart(wk, dok_DataWyst) = datepart(wk, GETDATE()) - 1
GROUP BY T.tw_Nazwa

I OK, zapytanie wyświetla nazwę oraz ilość sprzedanych w ubiegłym tygodniu towarów, przykładowo:

+---------+---------+
| Nazwa   | Ostatni |
+---------+---------+
| Towar 1 |   10    |
| Towar 2 |    2    |
| Towar 3 |   24    |
| Towar 4 |    8    |
| Towar 5 |    0    |
+-------------------+


Problem polega na tym, że potrzebuję tabelę z takim wynikiem:

+---------+------------+------------+------------+------------+
| Nazwa   | Tydzień -1 | Tydzień -2 | Tydzień -3 | Tydzień -4 |
+---------+------------+------------+------------+------------+
| Towar 1 |      10    |       5    |       9    |      15    |
| Towar 2 |       2    |      21    |      13    |      11    |
| Towar 3 |      24    |       0    |      24    |       3    |
| Towar 4 |       8    |      16    |       1    |       7    |
| Towar 5 |       0    |       8    |       0    |      10    |
+----------------------+------------+------------+------------+

Powiem szczerze, że nie mam pojęcia jak się za to zabrać :( Kombinowałem coś z podzapytaniami, ale bez większych sukcesów.
Tytuł: Odp: Zapytanie do bazy - zastawienie dokumentów po tygodniach.
Wiadomość wysłana przez: Paweł Szczygiel w Listopad 08, 2019, 14:14:47
Proszę zastosować PIVOTa w zapytaniu.
Tytuł: Zapytanie do bazy - zastawienie dokumentów po tygodniach.
Wiadomość wysłana przez: tomaszf w Listopad 09, 2019, 10:30:01
Jeżeli zawsze będą to 4 tydognie wstecz, można to zrobić bez pivota (mniej wydajnie, ale można :)).

Wysłane z mojego CLT-L29 przy użyciu Tapatalka