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 : Sélectionner tout - Visualiser dans une fenêtre à part
id magasin | date début | date fin
DDL de la table concernée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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