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