In Sql, wie kann man nur einen Wert ändern mit Hilfe einer case-Anweisung?

Frage:
Was ist der beste Weg, um den Wert zu ändern in der group_id ALS RoleId Spalte, so dass, wenn group_id ALS RoleId = 3 der Wert wird geändert, um die entsprechenden Wert-5?

Hintergrund:
In der folgenden Abfrage, ich bin den Vergleich zwei Tabellen aus verschiedenen Datenbanken mit keine wirklichen eindeutigen Schlüssel. Ich hatte zu kombinieren, first_name und last_name Spalten auf einer alias-Tabelle und vergleichen Sie diese dann mit den anderen Tabellen Name-Spalte. Es liefert die Ergebnisse, die ich will, aber Sie haben zwei Spalten, die im Zusammenhang mit der RoleId Spalte und die Spalte group_id. Sie haben die entsprechenden Werte, so zum Beispiel RoleId =5 ist das gleiche wie group_id =3, aber RoleId = 4 ist die gleiche wie group_id = 4.

Select-Anweisung:

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 
  • Danke für das Bearbeiten, Sie schlagen mich zu es
Schreibe einen Kommentar