Mam tabelę z zapisami dla każdej kolejnej godziny. Każda godzina ma pewną wartość. Chcę zapytania T-SQL, aby odzyskać brakujące rekordy (brakujące godziny, luki). Tak więc dla poniższego DDL powinienem uzyskać rekord za brakującą godzinę 04/01/2010 02:00 AM (przy założeniu, że zakres dat jest między pierwszym a ostatnim rekordem). Korzystanie z SQL Server 2005. Preferuj zapytanie oparte na zestawie.Znajdowanie luk (brakujących rekordów) w rekordach bazy danych przy użyciu SQL
DDL:
CREATE TABLE [Readings](
[StartDate] [datetime] NOT NULL,
[SomeValue] [int] NOT NULL
)
INSERT INTO [Readings]([StartDate], [SomeValue])
SELECT '20100401 00:00:00.000', 2 UNION ALL
SELECT '20100401 01:00:00.000', 3 UNION ALL
SELECT '20100401 03:00:00.000', 45
OMG .... to jest fenomenalny, jak szybkie napisałeś to. Poprostu super. – Raja
Nie mogę głosować w górę lub w dół, ponieważ patrzę na to sql going .. gaaaaahhahahaaaa –
To słodkie zapytanie. Nigdy nie zdawałem sobie sprawy, że 'WITH' może być użyty rekurencyjnie. – RedFilter