还没有那么好的SQL,但我正在学习。
所以我有3张桌子:
tblOne(Id,Type) tblTemp1(名称,类型) tblTemp2(Id,Name)
基本上,我想更新tblOne,其中'Id'与tblTemp2的匹配位置,但是也可以从tblTemp1获取'Type',其中'Name'匹配。
有人可以帮忙吗?
答案 0 :(得分:2)
我建议在更新语句中使用连接。
UPDATE tblOne
SET tblOne.Type = tblTemp1.Type
FROM tblTemp2
INNER JOIN tblTemp1 ON tblTemp1.Name = tblTemp2.Name
WHERE tblOne.Id = tblTemp2.Id
http://msdn.microsoft.com/en-us/library/aa260662%28SQL.80%29.aspx
答案 1 :(得分:0)
UPDATE tblOne
SET
tblOne.Type = tblTemp1.Type
WHERE
tblOne.Id = tblTemp2.Id
AND
tblTemp1.Name = tblTemp2.Name;
答案 2 :(得分:0)
UPDATE TBLONE
SET TBLONE.TYPE = (SELECT TBLTEMP1.TYPE
FROM TBLTEMP1
INNER JOIN TBLTEMP2
ON TBLTEMP1.NAME = TBLTEMP2.NAME
WHERE TBLONE.ID = TBLTEMP2.ID);
如果我们需要更新只满足条件
然后为该语句添加此部分
和where // where子句是可选的