Récupérer les plages de dates consécutives
Bonjour,
J'ai une table (voir DDL plus bas) dans laquelle sont stockées des dates (DAT_DATE) et des numéros de magasin (STR_ID). Je cherche à récupérer pour un magasin donné, les plages de dates qui sont consécutives et je ne vois pas du tout comment écrire ce genre de requêtes.
Le résultat souhaité serait de la forme suivante :
Code:
id magasin | date début | date fin
DDL de la table concernée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| CREATE TABLE [S_OPERATIONAL].[T_INVENTORY_INV](
[DAT_DATE] [date] NOT NULL,
[STR_ID] [tinyint] NOT NULL,
[INV_CREATED_ON] [datetime] NOT NULL,
[INV_CREATED_BY] [varchar](100) NOT NULL
PRIMARY KEY CLUSTERED
(
[DAT_DATE] ASC,
[STR_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [S_OPERATIONAL].[T_INVENTORY_INV] ADD DEFAULT (getdate()) FOR [INV_CREATED_ON]
GO
ALTER TABLE [S_OPERATIONAL].[T_INVENTORY_INV] ADD DEFAULT (suser_sname()) FOR [INV_CREATED_BY]
GO
ALTER TABLE [S_OPERATIONAL].[T_INVENTORY_INV] WITH CHECK ADD FOREIGN KEY([DAT_DATE])
REFERENCES [dbo].[TR_DATE_DAT] ([DAT_DATE])
GO
ALTER TABLE [S_OPERATIONAL].[T_INVENTORY_INV] WITH CHECK ADD FOREIGN KEY([STR_ID])
REFERENCES [dbo].[T_STORE_STR] ([STR_ID])
GO |