问题:更改 group_id AS RoleId 列中的值以便在 group_id AS RoleId = 3 时将值更改为相应的值 5 的最佳方法是什么?
背景:在下面的查询中,我比较了来自两个不同数据库的两个表,没有真正的唯一键。我必须在一个表别名上组合 first_name 和 last_name 列,然后将其与其他表的 Name 列进行比较。它产生了我想要的结果,但是,它们有两列与 RoleId 列和 group_id 列相关。它们有对应的值,例如 RoleId =5 与 group_id =3 相同,但 RoleId = 4 与 group_id = 4 相同。
选择语句:
SELECT
users.UserName,
users.phone,
users.email,
users.status,
users.group_id AS RoleId
FROM
(SELECT
Table1.dbo.users.first_name +' '+ Table1.dbo.users.last_name AS UserName,
Table1.dbo.users.phone,
Table1.dbo.users.email,
Table1.dbo.users.status,
Table1.dbo.users.group_id
FROM
Table1.dbo.users
) AS users
LEFT JOIN
Table2.dbo.UsersInfo ON
users.UserName = Table2.dbo.UsersInfo.Name
WHERE
Table2.dbo.UsersInfo.Name IS NULL