[MSSQL] Max wielkość z danego przedziału - Funkcja Between

0

Witam,

Mam problem z napisaniem kodu który by wyciągał maksymalną wartość daty z danego przedziału za pomocą funkcji „BETWEEN” i umieścił ją jako argument aby można było użyć nowo powstałej tabeli w złączeniu „JOIN”.
Poniżej podaje kod tabeli jaką uzyskałem w wyniku złączeń JOIN, kilku tabel i widoków.

SELECT DISTINCT N.Symbol,
S.NazwaSpolki as Spolka,
S.Sektor,
W3.DataBiezaca as BiezData,
W3.KursZam as BiezKurs,
W2.KursMin3mce,
W2.KursMax3mce,
W1.KursMin1Rok,
W1.KursMax1Rok,
W4.Data1RokTemu

FROM Slownik S JOIN
(Notowania N JOIN
(Wid_KursDataBiezaca W3 JOIN
(Wid_MinSrMaxKursy3mce W2 JOIN
(Wid_MinSrMaxKursy1rok W1 JOIN Wid_Data1rokTemu W4
ON W4.Symbol = W1.Symbol)
ON W2.Symbol=W1.Symbol)
ON W3.Symbol = W2.Symbol)
ON N.Symbol = W3.Symbol)
ON S.Symbol = N.Symbol

I teraz jak napisać złącznie JOIN które by dodawało kurs z daty rok temu.
Mógłbym użyć funkcji DATEADD() z ujemną liczbą (-365) dla okresu dziennego, ale czasem bywa tak, że data bieżąca minus 365 dni daje np. sobotę lub niedziele gdzie nie ma sesji giełdowej, dlatego postanowiłem wybrać pewien przedział dat a z niego maksymalną wartość daty i kurs w tym dniu dla danej spółki, niestety nie wiem jak to zrobić za pomocą SQL’a.
Do tej pory pracowałem na Accessie 2007 i przesiadłem się na MS SOL Server 2005 Express i w SQL-u nie jestem geniuszem.

0

ja bym nie uzywal JOIN tylko normalnie w klauzuli WHERE
Zawsze mozna przeciez laczyc ze soba resultsety aliasowane.

SELECT MAX(Data) FROM Tabela
WHERE Data BETWEEN data1 AND data2

1 użytkowników online, w tym zalogowanych: 0, gości: 1