Обмен столбцов из двух таблиц SQL Server - PullRequest
1 голос
/ 30 октября 2009

Я хотел бы знать, могу ли я сравнить два столбца в SQL Server.

Два столбца расположены в двух разных таблицах.

Когда значение столбца 1 меньше значения столбца 2:
Я хочу заменить значение столбца 1 значением столбца 2.

Ответы [ 2 ]

3 голосов
/ 30 октября 2009
update table1 t1
set    t1.col1 = (select t2.col2
                  from   table2 t2
                  where  t2.id = t1.id
                  and    t1.col1 < t1.col2)

Нечто подобное должно делать это легко.

Единственный сложный момент, который я вижу, - это сопоставление строки из таблицы2 со строкой из таблицы1. В моем примере я предположил, что обе таблицы имеют уникальный столбец «id», который позволяет легко сопоставлять. Измените запрос на что-нибудь более подходящее.

1 голос
/ 30 октября 2009

Вы должны быть в состоянии сделать что-то вроде этого:

update tablename set column1=column2
from table1 inner join table2 on joincondition
where column1 < column2;

Трудно быть более специфичным без фактической структуры таблицы.

...