Вы можете использовать JOIN для производной таблицы или CTE
;WITH updates AS
(
SELECT 1 AS MyField, 'foo' AS ThisField, 'bar' AS ThatField UNION ALL
SELECT 2 AS MyField, 'Mickey' AS ThisField, 'Mouse' AS ThatField
)
UPDATE YourTable
SET ThisField =updates.ThisField, ThatField=updates.ThatField
FROM YourTable LEFT OUTER JOIN
updates ON YourTable.MyField = t.MyField
или для SELECT
;WITH mappings AS
(
SELECT 1 AS MyField, 'foo' AS ThisField, 'bar' AS ThatField UNION ALL
SELECT 2 AS MyField, 'Mickey' AS ThisField, 'Mouse' AS ThatField
)
SELECT YourTable.MyField,
mappings.ThisField,
mappings.ThatField
FROM YourTable LEFT OUTER JOIN
mappings ON YourTable.MyField = t.MyField