[SQL2005] Affichage d'une colonne d'une ligne précédente
Bonjour,
Je m'explique. J'ai un générateur d'édition pas très évolué et dans l'édition de ma facture (avec regroupement de BL) je veux ajouter une bande de sous total quand je change de Bon de livraison. Dans mon générateur d état je ne peux pas crée de variable qui enregistre une colonne d’une ligne précédente.
L’éditeur source de donnée SQL est assez limité. Je suis obligé de passer par une vue. Ca je sais faire.
Mais pour la requête je ne sais pas comment faire ?

Requête :
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
 
WITH LIGNE(NUM,LIG,CODE,LIB,NAT)AS
(
  SELECT 1000, 1, '', 'LIVRAISON CLIENT N° 1 DU 05/01/2010','FAC' UNION ALL
  SELECT 1000, 2, '', 'COMMANDE CLIENT N° 113 DU 05/01/2010','FAC' UNION ALL
  SELECT 1000, 3, '100484', 'CABLE Ø5MM 19X7 AME METAL. ANTIGIR. GALVA GR.','FAC' UNION ALL
  SELECT 1000, 4, '100483', 'CABLE Ø4MM 19X7 AME METAL. ANTIGIR. GALVA GR.','FAC' UNION ALL
  SELECT 1000, 5, '105505', 'SERRE CABLE ETRIER MI-DUR Ø 5MM DIN741TALON LISSE GALVA','FAC' UNION ALL
  SELECT 1001, 1, '' , 'LIVRAISON CLIENT N° 5 DU 06/01/2010' ,'FAC' UNION ALL
  SELECT 1001, 2, '' , 'COMMANDE CLIENT N° 47 DU 24/12/2009','FAC' UNION ALL
  SELECT 1001, 3, '105505', 'SERRE CABLE ETRIER MI-DUR Ø 5MM DIN741TALON LISSE GALVA','FAC' UNION ALL
  SELECT 1002, 1, '' , 'DEVIS CLIENT N° 12 DU 23/12/2009  ','FAC' UNION ALL
  SELECT 1002, 2, '106670', 'MANILLE LYRE MI-DUR CMU 0T4 LEVAGE AFNOR J33344','FAC' UNION ALL
  SELECT 1002, 3, '106671', 'MANILLE LYRE MI-DUR CMU 0T63 LEVAGE AFNOR J33344','FAC'
)
SELECT NUM,LIG,CODE,LIB FROM LIGNE WHERE NAT='FAC' ORDER BY NUM, LIG
Le résultat :
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
 
 
 
NUM	LIG	CODE	LIB
1000	1		LIVRAISON CLIENT n° 1 du 05/01/2010
1000	2		COMMANDE CLIENT n° 113 du 05/01/2010
1000	3	100484	CABLE Ø5MM 19X7 AME METAL. ANTIGIR. GALVA GR.
1000	4	100483	CABLE Ø4MM 19X7 AME METAL. ANTIGIR. GALVA GR.
1000	5	105505	SERRE CABLE ETRIER MI-DUR Ø 5MM DIN741TALON LISSE GALVA
1001	1		LIVRAISON CLIENT n° 5 du 06/01/2010
1001	2		COMMANDE CLIENT n° 47 du 24/12/2009
1001	3	105505	SERRE CABLE ETRIER MI-DUR Ø 5MM DIN741TALON LISSE GALVA
1002	1		DEVIS CLIENT n° 12 du 23/12/2009  
1002	2	106670	MANILLE LYRE MI-DUR CMU 0T4 LEVAGE AFNOR J33344
1002	3	106671	MANILLE LYRE MI-DUR CMU 0T63 LEVAGE AFNOR J33344
Résultat souhaité :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
NUM	LIG	CODE	PRE_CDE	LIB
1000	1			LIVRAISON CLIENT n° 1 du 05/01/2010
1000	2		1000	COMMANDE CLIENT n° 113 du 05/01/2010
1000	3	100484	1000	CABLE Ø5MM 19X7 AME METAL. ANTIGIR. GALVA GR.
1000	4	100483	1000	CABLE Ø4MM 19X7 AME METAL. ANTIGIR. GALVA GR.
1000	5	105505	1000	SERRE CABLE ETRIER MI-DUR Ø 5MM DIN741TALON LISSE GALVA
1001	1		1000	LIVRAISON CLIENT n° 5 du 06/01/2010
1001	2		1001	COMMANDE CLIENT n° 47 du 24/12/2009
1001	3	105505	1001	SERRE CABLE ETRIER MI-DUR Ø 5MM DIN741TALON LISSE GALVA
1002	1		1001	DEVIS CLIENT n° 12 du 23/12/2009  
1002	2	106670	1002	MANILLE LYRE MI-DUR CMU 0T4 LEVAGE AFNOR J33344
1002	3	106671	1002	MANILLE LYRE MI-DUR CMU 0T63 LEVAGE AFNOR J33344
La colonne PRE_CDE est la colonne NUM de la LIGNE précédente.

Merci pour vos réponses.

Cordialement.