我已经阅读了关于这个问题的其他文章,但我并没有真正找到从我的情况中收到这个错误的帖子。
对于以下查询:
INSERT INTO dbo.EightIDs (Email)
    SELECT Email
    FROM dbo.TempTransferTable
    WHERE dbo.TempTransferTable.EightID = dbo.EightIDs.EID我收到一个错误
无法绑定多部分标识符。
在查询的dbo.EightIDs.EID部分。我不知道为什么它会给我一个问题,因为我只是想把一个表中的I和另一个表中的I匹配起来,然后相应地把电子邮件带过来。
编辑:
基于关于在UPDATE中使用JOIN的评论,下面是我得出的结论。这看上去更合适吗?
UPDATE tbl1
SET tbl1.Email = tbl2.Email
FROM dbo.EightIDs tbl1
JOIN dbo.TempTransferTable tbl2 ON tbl2.EightID = tbl1.EID发布于 2016-04-20 15:19:51
您需要在列名前面提到表名或别名。希望电子邮件列存在于两个表中:
INSERT INTO dbo.EightIDs (Email)
SELECT TT.Email
FROM dbo.TempTransferTable TT
JOIN dbo.EightIDs EI ON EI.EID = TT.EightID 或者,如果要基于TempTransferTable将列更新为EightID,则可以使用以下查询:
UPDATE EI
SET EI.Email = TT.Email
FROM dbo.EightIDs EI
JOIN dbo.TempTransferTable TT ON TT.EightID = EI.EIDhttps://stackoverflow.com/questions/36748208
复制相似问题