sql zapytanie

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

Radas
Posty: 4
Rejestracja: 06 mar 2024, 13:58
Rola: Użytkownik CDN XL
Wersja: 2023
Lokalizacja: Poznań

sql zapytanie

Post autor: Radas »

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?

Awatar użytkownika
praiser
Posty: 720
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: sql zapytanie

Post autor: praiser »

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.

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)) 
Poniżej snippet dla dokumentów FS

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

Radas
Posty: 4
Rejestracja: 06 mar 2024, 13:58
Rola: Użytkownik CDN XL
Wersja: 2023
Lokalizacja: Poznań

Re: sql zapytanie

Post autor: Radas »

dzięki wielkie za sugestie Praiser, walczę dalej

ODPOWIEDZ