Как сравнить два столбца таблицы в sql server с использованием c#

#c# #sql

#c# #sql

Вопрос:

Я хочу сравнить два разных столбца таблицы (ID), если оба идентификатора одинаковы, я хочу вставить имя местоположения, имеющееся в первой таблице, во вторую таблицу

 Table 1
-------
    Id   Name
    ---------
    1    Hyd
    2    Banglore
    ---------

Table 2
-------
    Id Name
    -------
    1 
    2 
  

Из первого идентификатора таблицы и второго идентификатора таблицы, если оба равны, я хочу вставить столбец name во второй столбец, который существовал в той же строке id, используя C # Помогите мне

Комментарии:

1. Где вы застряли? Вы можете сравнивать значения с помощью оператора равенства ( == ), вы можете условно запускать код на основе этого сравнения с условным блоком if (someCondition) { ... } , вы можете подключаться к базе данных множеством различных способов. Что вы пробовали и что не работает?

Ответ №1:

Ну, здесь без лишней информации.

Это предполагает, что когда вы говорите c #, вы на самом деле имеете в виду C # для SQL.

итак, в SQL сделайте что-то вроде этого

 UPDATE Table2
SET Table2.Name = Table1.name
FROM Table1
WHERE Table2.ID = table1.ID
  

сделайте это хранимой процедурой, затем используйте c # для вызова процедуры run.

опять же, это всего лишь пример, основанный на предположении, что вы действительно хотите, чтобы это было сделано в SQL, и используете c # для его запуска

Ответ №2:

Попробуйте следующее:

 create table #testsource
(ID int,city nvarchar(200))

insert into #testsource (ID,city)
values(1,'mumbai'),
(2,'Pune')

select *from #testsource

create table #testdestination
(ID int,city nvarchar(200))

//insert rows in table
insert into #testdestination (ID,city) values(1,''),(2,''),(3,'')

//select rows from table
select *from #testdestination

//get the values from Source table and update to Destination table
update #testdestination set city=s.city 
from #testsource s 
where s.ID=#testdestination.ID

select *from #testdestination

drop table #testsource
drop table #testdestination
  

Результаты:
введите описание изображения здесь

Предполагая, что ваши имена двух таблиц с ‘Table1’ и ‘Table2

 CREATE PROCEDURE [dbo].[p_UpdateDestinationTable]
AS
BEGIN
UPDATE Table2
SET Table2.Name = t1.name
FROM Table1 t1
WHERE Table2.ID = t1.ID
  

ПРИМЕЧАНИЕ: Это пример, используемый с Temporay Table plelase , не используйте «как есть». внесите изменения в соответствии с вашими потребностями.