Hej,
Mam mały problem.
Są dwie tabele pierwsza niech będzie taka:
Wydarzenie;
*id
*początek
*koniec
*opis
Druga tabela wygląda tak:
SubWydarzenie:
*id
*idWydarzenie
*początek
*koniec
Chcę zrobić selekta który wyciągnie mi wydarzenia po konkretnej dacie. Tzn niech będzie 2017-06-27 i chcę dostać takie wydarzenia które zawierają się w początku, końcu w tabelce Wydarzenia lub zawierają się w początku/końcu SubWydarzenia.
Haczyk jest taki, ze potrzebuje tylko unikatowych danych z tabeli Wydarzenia.
select Wydarzenie.id, Wydarzenie.poczatek, Wydarzenie.koniec, Wydarzenie.opis from Wydarzenie
inner join SubWydarzenie on Wydarzenie.id = SubWydarzenie.idWydarzenie
where
(Wydarzenie.początek >= @data and Wydarzenie.koniec <= @data )
OR
(SubWydarzenie.początek >= @data and SubWydarzenie.koniec <= @data )
Pytanie czy muszę jeszcze muszę robić grupowanie po tym co chce dostać z selecta czy może istnieje jakieś sprytne rozwiązanie (MSSQL 2012 i wyżej)?