0

我有 2 个表。所有 id 都包含在表一 ( Tbl_Distributor) 中。第二张桌子有所有的名字。

我想根据 id 将所有名称添加到第一个表中。

我的选择查询如下。

在此处输入图像描述

 INSERT INTO dbo.Tbl_Distributor(Giv_Name) where dealercode= a.dealercode

 SELECT a.dealercode,d.nameinfull  
 FROM dealerplacement a,dealer d
 where a.dealercode= d.dealercode
 order by a.dealercode ASC

这返回nameinfulldealercode。我想将此添加nameinfullTbl_Distributor.

请帮我解决这个问题。

4

2 回答 2

2
UPDATE R
SET Giv_Name = D.FirstName
FROM
   dbo.Tbl_Distributor R
   INNER JOIN dbo.Dealer D
      ON R.Dis_ID = D.DealerCode
于 2012-07-28T07:37:09.400 回答
-1

您不能在此处使用 INSERT。您需要使用更新。我会使用游标来完成这样的任务。

declare @id int, @name varchar(1000)
DECLARE c CURSOR FOR
SELECT a.dealercode,d.nameinfull  
 FROM dealerplacement a,dealer d
 where a.dealercode= d.dealercode
 order by a.dealercode ASC

OPEN c

FETCH NEXT FROM c 
INTO @id, @name

WHILE @@FETCH_STATUS = 0
BEGIN

update Tbl_Distributor set Giv_Name = @name where dealercode = @id

FETCH NEXT FROM c 
INTO @id, @name
end

CLOSE c;
DEALLOCATE c;

另外,我会在 select 语句中使用 join :

SELECT a.dealercode,d.nameinfull  
FROM dealerplacement a inner join dealer d
on a.dealercode= d.dealercode
order by a.dealercode ASC
于 2012-07-28T07:35:40.490 回答