Bonjour à tous,

J'ai un souci avec mes lignes. En effet, je me retrouve avec deux lignes qui ont le même id (pas primary key, c'est juste un nom).

N'ayez pas peur, il n'y a pas grand chose à lire

Voilà mon fichier de sortie :

D;1772;1;1772;019A;;6411100;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;XXXX;;;;;;;;;;;;;;;;0;12
D;1773;1;1773;019A;;7916000;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;XXXX;;;;;;;;;;;;;;;;0;12
D;1854;1;1;019A;;R641000;;SOLDE 2009;-1;12;;;;CSN;;;;;;;;
A;1;PAR;019_XXX_XXX;FLX;XXXX;;;;;;;;;;;;;;;;0;12

... // Des D et des A avec les D ayant la deuxième colonne incrémentée de 1 à chaque fois !

D;1837;1;1837;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;049A;;;;;;;;;;;;;;;;0;12
D;1838;1;1838;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;030A;;;;;;;;;;;;;;;;0;12
D;1839;1;1839;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;103A;;;;;;;;;;;;;;;;0;12
D;1840;1;1840;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;040A;;;;;;;;;;;;;;;;0;12
D;1841;1;1841;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;097A;;;;;;;;;;;;;;;;0;12
D;1842;1;1842;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;082A;;;;;;;;;;;;;;;;0;12
D;1843;1;1843;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;300A;;;;;;;;;;;;;;;;0;12
D;1844;1;1844;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;117A;;;;;;;;;;;;;;;;0;12
D;1845;1;1845;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;077A;;;;;;;;;;;;;;;;0;12
D;1846;1;1846;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;093A;;;;;;;;;;;;;;;;0;12
D;1847;1;1847;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;122A;;;;;;;;;;;;;;;;0;12
D;1848;1;1848;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;301A;;;;;;;;;;;;;;;;0;12
D;1849;1;1849;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;107A;;;;;;;;;;;;;;;;0;12
D;1850;1;1850;019A;;7068050;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;075A;;;;;;;;;;;;;;;;0;12
D;1851;1;1851;019A;;7580000;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;XXXX;;;;;;;;;;;;;;;;0;12
D;1852;1;1852;019A;;7670000;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;XXXX;;;;;;;;;;;;;;;;0;12
D;1853;1;1853;019A;;7815000;;SOLDE 2009;-1;12;;;;FR1;;;;;;;;
A;1;BUD;019_XXX_XXX;CAN;XXXX;;;;;;;;;;;;;;;;0;12
D;1854;1;2;019A;;P781500;;SOLDE 2009;-1;12;;;;CSN;;;;;;;;
A;1;PAR;019_XXX_XXX;FLX;XXXX;;;;;;;;;;;;;;;;0;12
Je voudrais que mon deuxième id (1854) soit à 1855 du coup.
J'utilisais la requête suivante :

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
31
32
33
34
35
36
37
38
39
40
41
42
43
 
INSERT INTO #ZBALANCE
SELECT
	'D',
	ISNULL((SELECT MAX(CAST(COL2 AS INT)) + 1
			FROM #ZBALANCE
			WHERE COL1 = 'D')
		   ,'') AS COL2,
	BAL.COL3,
	ISNULL((SELECT MAX(CAST(COL4 AS INT)) + 1
			FROM #ZBALANCE
			WHERE COL1 = 'D')
		   ,'') AS COL4,
	BAL.COL5,
	BAL.COL6,
	TC.CSN_X3 AS COL7,
	ISNULL(TC.BPS_X3, '') AS COL8,
	BAL.COL9,
	BAL.COL10,
	BAL.COL11,
	BAL.COL12,
	BAL.COL13,
	BAL.COL14,
	'CSN' AS COL15,
	BAL.COL16,
	BAL.COL17,
	BAL.COL18,
	BAL.COL19,
	BAL.COL20,
	BAL.COL21,
	BAL.COL22,
	BAL.COL23,
	BAL.COL24,
	BAL.COL25,
	ISNULL((SELECT MAX(CAST(COL2 AS INT)) + 1
			FROM #ZBALANCE
			WHERE COL1 = 'D')
		   ,'') AS COL26
FROM #ZBALANCE BAL 
INNER JOIN AT_T TC ON TC.GENE_OLD = BAL.COL24
WHERE TC.FR1_X3 <> '' 
	AND TC.CSN_X3 <> ''
	AND BAL.COL1 = 'D'
Mon
ISNULL((SELECT MAX(CAST(COL2 AS INT)) + 1
FROM #ZBALANCE
WHERE COL1 = 'D')
,'')
N'incrémente pas pour chaque ligne insérée. Il fait le select puis garde cette valeur à chaque fois. Que puis-je utiliser pour cela fonctionne ?

Merci d'avance.

PS : je suis sous Sql Server Management Studio 2008 !