Bonjour tous le monde ,
Je veux faire Update sur la première ligne, je m'explique :
Les entrées:
J'ai deux tables:
Table1 (FK_customer , SoldePts) 1--300
2--250
Table2(Fk_CUSTOMER, FK_JOUR,FK_MAGASIN,SOLDE) 1--L-m1--0
1--j--M2--0
Je veux que le solde de 2 eme table sera mis à jour à partir de la première table mais il devra être inséré seulement dans la première ligne
Les sorties:
1--L--m1--300
1--j--m2--0
j'ai fais cette requête
Mais ça fonctionne pas correctement : Avec cette requête l'update se fais sur toutes les lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 UPDATE [MG_DWH].[dbo].[VNT_FACT_DM_VENTES_CUS_JR] SET PTS_FORCE = A.SOLDE FROM ( SELECT E.SOLDE_FORCE AS SOLDE ,E.[FK_CUSTOMER] ,(SELECT T.RANG from (SELECT ROW_NUMBER () OVER (partition by B.fk_customer order by B.fk_magasin,B.fk_jour desc ) as rang FROM [MG_DWH].[dbo].[VNT_FACT_DM_VENTES_CUS_JR] B WHERE B.fk_customer=E.FK_CUSTOMER )T where rang=1) AS RANG FROM [MG_APP].[dbo].[FID.SOLDE_FORCE] E) A INNER JOIN [MG_DWH].[dbo].[VNT_FACT_DM_VENTES_CUS_JR] AA ON AA.fk_customer=A.FK_CUSTOMER
Merci d'avance.
Partager