Cześć,
to mój pierwszy wpis i WITAM wszystkich forumowiczów. Wiele się tu dowiedziałem.
Jako początkujący prośba o wsparcie. Napisałem takie proste zapytanie i chciałbym dodać średnią ze sprzedaży każdego z indeksów(ostatnie pełne 12-m-cy).....i tu się zakopałem....
select
twr_kod as [indeks]
, twr_nazwa as [nazwa towaru]
, Twr_Jm as [j.miar]
, Tpm_IloscMin as [poziom dost.MIN]
, Tpm_IloscZam as [partia odtworzenia]
, atr_wartosc as [MAX czas realizacji]
from cdn.Twrkarty (nolock) inner join cdn.Atrybuty (nolock) on atr_obiTyp = twr_gidtyp and atr_obinumer = twr_gidnumer
inner join cdn.AtrybutyKlasy (nolock) on atk_id = atr_atkID
inner join cdn.TwrParMag on Tpm_TwrNumer = Twr_GIDNumer and Tpm_MagNumer = 2
where Twr_IloscMin >0 and atk_Nazwa = 'Maksymalny czas realizacji (dni robocze)'
order by twr_kod
pomożecie?
sql zapytanie
Moderator: mikey
Re: sql zapytanie
Cześć
Średnią sprzedaż dla indeksu policzysz z tabeli CDN.TraElem. Typ transakcji warunkujesz w Tre_GidTyp.
Trzeba też podłączyć CDN.TraNag żeby warunkować na przykład datę wystawienia (Trn_Data2) lub datę sprzedaży (Trn_Data3)
Daty należy też zamienić na format clarion w jakim są zapisane w bazie danych.
Poniżej snippet dla dokumentów FS
Średnią sprzedaż dla indeksu policzysz z tabeli CDN.TraElem. Typ transakcji warunkujesz w Tre_GidTyp.
Trzeba też podłączyć CDN.TraNag żeby warunkować na przykład datę wystawienia (Trn_Data2) lub datę sprzedaży (Trn_Data3)
Daty należy też zamienić na format clarion w jakim są zapisane w bazie danych.
Kod: Zaznacz cały
-- pierwszy dzień miesiąca 11 miesięcy temu, od dzisiaj
cdn.DateToClarion(DATEADD(MONTH, -11, DATEADD(MONTH, DATEDIFF(MONTH, 0, getdate())-1, 0)))
-- ostatni dzień poprzedniego miesiąca, od dzisiaj
cdn.DateToClarion(DATEADD(MONTH, DATEDIFF(MONTH, -1, getdate())-1, -1))
Kod: Zaznacz cały
select
Twr_Kod as Kod
,avg(Tre_Ilosc) as Srednia
from CDN.TwrKarty
join CDN.TraElem ON Twr_GIDNumer=TrE_TwrNumer
join CDN.TraNag ON TrN_GIDNumer=TrE_GIDNumer
WHERE
Tre_GidTyp IN (2033) -- typ transakcji
AND
Trn_Data2
between
cdn.DateToClarion(DATEADD(MONTH, -11, DATEADD(MONTH, DATEDIFF(MONTH, 0, getdate())-1, 0))) -- pierwszy dzień 11 miesięcy temu, od dzisiaj
and
cdn.DateToClarion(DATEADD(MONTH, DATEDIFF(MONTH, -1, getdate())-1, -1)) -- ostatni dzień poprzedniego miesiąca, od dzisiaj
group by Twr_Kod
- Typy transakcji:
1521 - FZ
1529 - FZK
1489 - PZ
1497 - PZK
1490 - PZI
1498 - PKI
2033 - FS
2041 - FSK
2036 - FW
2044 - FWK
2001 - WZ
2009 - WZK
2034 - PA
2042 - PAK
2035 - RA
2043 - RAK
1968 - TF
2039 - RS
2047 - RSK
2003 - KK
2037 - FSE
2045 - FKE
2005 - WZE
2013 - WKE
1312 - FZL
1824 - FSL
1828 - FEL
1836 - KEL
1616 - RW
1624 - RWK
1617 - PW
1625 - PWK
1603 - MMW
1604 - MMP
1600 - MM
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
-
- Posty: 4
- Rejestracja: 06 mar 2024, 13:58
- Rola: Użytkownik CDN XL
- Wersja: 2023
- Lokalizacja: Poznań
Re: sql zapytanie
dzięki wielkie za sugestie Praiser, walczę dalej