Bonjour,

Je cherche à me débarrasser d'un curseur pour un traitement en le remplaçant par une requête ensembliste mais là je sèche un peu. Voici un jeu de test :

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
create table TEST
(
	inter int,
	Debut DATETIME,
	Fin DATETIME
)
 
INSERT INTO TEST 
SELECT 1000, '01/02/2010 01:00:00', '20/02/2010 03:00:00'
UNION ALL
SELECT 1000, '18/02/2010 01:00:00', '26/02/2010 08:00:00'
UNION ALL
SELECT 1000, '01/03/2010 12:00:00', '10/03/2010 16:00:00'
UNION ALL
SELECT 1518, '01/01/2010 12:00:00', '25/01/2010 18:00:00'
UNION ALL
SELECT 1518, '02/02/2010 07:00:00', '05/02/2010 13:00:00'
Je cherche à calculer le nombre de minutes passées par inter sans tenir compte des chevauchement des plages de temps par exemple pour l'inter 1000 ne tenir compte que des plages comprises du '01/02/2010 01:00:00' au '26/02/2010 08:00:00' et du '01/03/2010 12:00:00' au '10/03/2010 16:00:00'

D'avance merci pour votre aide.
Cordialement.