Alors j'ai pourtant bien lu tous les posts sur les problème d'utilisation de UPDATE, j'ai aussi essayé différentes façons de faire ma requete mais ça ne marche tjrs pas....
Je dispose d'une 1ere table (Table_Braderie) avec 3 champs [N° BRADERIE](clé), [DATE] et [LIEU].
Je dispose d'une 2eme table (Table_Achat) avec 4 champs [N° ACHAT](clé), [N° BRADERIE], [N° CLIENT] et [MONTANT].
La requete ci-dessous permet de recupérer les Clients [N° CLIENT] qui ont fait au moins 2 achats pour une dépense totale de plus de 500€ ces 12 derniers mois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT Table_Achats.[N° CLIENT] FROM [Table_Braderies] INNER JOIN Table_Achats ON Table_Braderies.[N° BRADERIE] = Table_Achats.[N° BRADERIE] WHERE (((Table_Braderies.DATE)>DateAdd("m",-12,Date()))) GROUP BY Table_Achats.[N° CLIENT] HAVING (((Sum(Table_Achats.MONTANT))>500) AND ((Count(Table_Achats.[N° ACHAT]))>=2)))
Je dispose d'une 3eme table (Table_Client) avec beaucoup de champs [N° CLIENT](clé), [NOM], ... et [SEGMENTATION].
Je souhaiterai maintenant mettre a jour un champ de ma table Client [SEGMENTATION] pour tous les utilisateurs récupérés avec la requete précedente.
J'ai essayé avec la requête ci-dessous mais ça ne marche pas. Où est le probleme?
[/code]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 UPDATE Table_Clients SET Table_Clients.SEGMENTATION = "CPP" FROM Table_Clients AS a INNER JOIN Table_Achats AS b ON a.[N° CLIENT] = b.[N° CLIENT] WHERE b.[N° CLIENT] = ( SELECT Table_Achats.[N° CLIENT] FROM [Table_Braderies] INNER JOIN Table_Achats ON Table_Braderies.[N° BRADERIE] = Table_Achats.[N° BRADERIE] WHERE (((Table_Braderies.DATE)>DateAdd("m",-12,Date()))) GROUP BY Table_Achats.[N° CLIENT] HAVING (((Sum(Table_Achats.MONTANT))>500) AND ((Count(Table_Achats.[N° ACHAT]))>=2)))
Partager