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
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
Mais ça fonctionne pas correctement : Avec cette requête l'update se fais sur toutes les lignes

Merci d'avance.