Bonjour les membres du forum,
j'utilisais un logiciel (ACL GALVANIZE) fonctionnant un peu sur le mode des bases de données, je suis passé à sql server; et je ne parviens pas à retrouver certaines fonctionnalités.
je cherche à Assigner à un enregistrement la valeur de l'enregistrement au dessus sous conditions, au cas présent il s'agirait :
-de créer un colonne NumCompte qui se rempli avec la valeur de la colonne 1 si le mot "Compte" est trouvé dans l'enregistrement ex "set NUCPTE1 = column1 where column1 like '%Compte%' ", pour cette étape pas de problème
-mais ensuite et là je bloque, je souhaite que les NULL soient remplacés par la valeur de l'enregistrement du dessus pour arriver au résultat de l'étape 3.
Etape 1 colonne 1
Compte 15450 11100055511
11/06/2018 virement vers DGFIP – 1 100, 75
14/02/19 paiement carte la cantine a chouchou
echeance du 14/01/19 – 75,92
Compte 14444 40540775842
12/07/19 remise cheque 177892 2 000 000
14/07/19 prelevement la redoute kls0000125478
Echeance 2 -367
Etape 2 colonne NumCompte
Compte 15450 11100055511
NULL
NULL
NULL
Compte 14444 40540775842
NULL
NULL
NULL
Etape 3 colonne NumCompte 2
Compte 15450 11100055511
Compte 15450 11100055511
Compte 15450 11100055511
Compte 15450 11100055511
Compte 14444 40540775842
Compte 14444 40540775842
Compte 14444 40540775842
Compte 14444 40540775842
J'ai fait des essais divers et variés mais mes syntaxes ne sont pas acceptées.... j'ai essayé également en mettant un n° ID auto-incrémenté pour tenter de dire "si ne trouve pas "compte" dans la ligne alors mettre la valeur de la ligne du dessus sans grand succès :
Voilà, je m'en remets à votre ingéniosité et à votre expérience, la table est en PJ en fichier .TXT au besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 update [CMUT].[dbo].[CMUT] set NUCPTE2 = case when NumCompte like '%compte%' then NumCompte when NumCompte = NOT LIKE '%compte%' then NumCompte where ID=ID-1 end go
Merci!
Partager