Bonjour,
j'ai deux tables sqlserver qui se trouvent sur la même base de données :
Table1 : Nom_utilisateur1,Montant,Date1
Table2 : Nom_utilisateur2,Montant,Date2
NB : les deux tables n'ont aucune clé primaire ni secondaire, le seul point commun entre eux c'est la colonne Montant.
mon besoin est le suivant:
en une seule requete, je souhaiterai :
Etape 1- extraire depuis la Table1 la liste des utilisateurs (ainsi que leurs montant) ayant la date la plus récente.
Etape 2- extraire depuis la Table2 la liste des utilisateurs (ainsi que leurs montant) ayant la date la plus récente.
NB : tout les montant de la Table ont la valeur NULL.
Etape 3- mettre à jours la colonne Montant de la Table2 ( uniquement pour les utilisateurs de l'étape 2 ) depuis la colonne Montant de la Table1 ( uniquement les utilisateurs de l'étape1 ).
j'ai fournis qd même un petit effort perso et j'ai pu faire les requêtes de l'etape1 et l'etape 2 :
Etape 1 :
Etape 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT DISTINCT [nom_utilisateur1],[Montant],[Date1] FROM [Table1] AS [derniere_date1] WHERE [Date1] = (SELECT MAX([Date1]) FROM [Table1] WHERE [nom_utilisateur1] = [derniere_date1].[nom_utilisateur1]) ORDER BY [nom_utilisateur1] ASC
il me manque donc l'etape 3 : update ... set ... en utilisant mes deux précédentes requêtes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT DISTINCT [nom_utilisateur2],[Montant],[Date2] FROM [Table2] AS [derniere_date2] WHERE [Date2] = (SELECT MAX([Date2]) FROM [Table2] WHERE [nom_utilisateur2] = [derniere_date2].[nom_utilisateur2]) ORDER BY [nom_utilisateur2] ASC
merci bcp
la bonne soirée à vous tous.
Partager