Bonjour,
Je travaille sur SQL Server 2000.
J'ai une table Dossier :
id parent date
-----------------
1 0 12/04/13
2 1 null
3 2 null
Je voudrais obtenir le premier parent qui a une date non nulle sachant que l'id 1 se trouve sous la racine et que que je n'ai pas un enregistrement d'id 0.
j'ai essayé ça:Le problème est que si toutes les dates sont nulles :
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 CREATE FUNCTION dbo.parent(@pId INT) RETURNS INT AS BEGIN DECLARE @code INT SET @code = @pId SELECT @code = Code FROM Dossier WHERE (Code = (SELECT CodeParent FROM Dossier WHERE Code = @pId AND Date IS NULL) ) IF @@ROWCOUNT <> 0 SET @code = dbo.parent(@code) RETURN @code END GO SELECT dbo.parent(3) go
id parent date
-----------------
1 0 null
2 1 null
3 2 null
Le résultat est 1 alors qu'il doit être 0.
Merci.
Partager