Bonjour à tous,
J'ai besoin d'aide pour une de mes requêtes
J'avais une base avec une table user (liste des utilisateurs), une table Projet et une table "jointure" car c'est une relation N,N
Je suis contraint de recréer une nouvelle base avec la même structure de table
et d'importer mes utilisateurs via Excel (script maison)
Tout fonctionne très bien. Seul soucis (Hé oui sinon j'aurai pas créé ce sujet), mes utilisateurs n'ont plus le même ID et donc ma relation avec la table Projet est faussée (relation via table "jointure")
Pour le moment, j'ai réussi à lister les id des 2 tables users avec l'id de la table jointure
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT user_base1.Name, user_base1.Id as "user_base1_ID", user_base2.Name, user_base2.Id as "user_base2_ID", link.User_Id as "link_user_ID" FROM [BASE1].[dbo].[User] AS user_base1 INNER JOIN [BASE2].[dbo].[User] AS user_base2 ON user_base1.[Name] = user_base2.[Name] INNER JOIN [BASE1].[dbo].[Link_User_WS] AS link ON link.User_Id = user_base2.Id
donc théoriquement il suffirai de remplacer la valeur de link.User_Id (correspondant à user_base2.Id) par celle de user_base1.Id
hélas je n'arrive pas à construire cette requête correctement
Ma tentative :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 UPDATE [BASE1].[dbo].[Link_User_WS] SET [BASE1].[dbo].[Link_User_WS].[User_Id] = user_base1.[Id] FROM [BASE1].[dbo].[User] AS user_base1 INNER JOIN [BASE2].[dbo].[User] AS user_base2 ON user_base1.[Name] = user_base2.[Name] WHERE [BASE1].[dbo].[Link_User_WS].[User_Id]=user_base2.[Id]
Partager