如何使用更新中的join子句更新表中的值?

时间:2014-07-02 14:41:16

标签: sql-server

我有两张桌子:

CREATE TABLE [dbo].[Answer] (
    [AnswerId]    INT              IDENTITY (1, 1) NOT NULL,
    [Number]      INT              NOT NULL,
    [QuestionId]  INT              NOT NULL,
    [QuestionUId] UNIQUEIDENTIFIER NULL
);

CREATE TABLE [dbo].[Question] (
    [QuestionId]       INT              IDENTITY (1, 1) NOT NULL, 
    [QuestionUId]      UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL
);

答案表中的QuestionUId字段目前为空。 Answer表中的QuestionId字段填充了条目。

如何使用Question表中的QuestionUId值更新此字段。我猜我需要一个以某种方式加入它的更新。有人可以建议我如何做到这一点,所以我可以 试试看。

1 个答案:

答案 0 :(得分:2)

尝试:

update answer
set questionUId = q.quesitonUId
from answer a
inner join question q on a.questionId = q.questionId