首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据查询结果插入多行

根据查询结果插入多行
EN

Stack Overflow用户
提问于 2015-01-22 10:22:47
回答 2查看 808关注 0票数 0

我正在构建一些数据保护答案来更新我们的网站,这个答案让我在SQL Server2008 R2中感到困惑:

我需要为老客户的这些问题插入‘答案’。下面是一个适用于单个记录的示例语句:

代码语言:javascript
复制
INSERT INTO DataProtection
(
    Id, 
    HolderCompanyId,
    IssuerCompanyid,
    AnswerEnum, --The answer (1,2,3) to the DP question
    AnsweredDate,
    ClientId, --This is the customer's unique ID
    QuestionId --The ID of the question from a different table
) 
VALUES 
(
    '9ee9455b-3ba5-440e-8329-c556ae8a1c7e',
    1127,
    1127,
    10,
    { ts '2015-01-20 00:00:00' },
    '12345',
    '3'
);

在此基础上,如何为没有每个问题(QuestionID)条目的记录插入数以千计的行(很多时候是每个ClientID几行)?

示例:客户ID 12345已为数据保护问题1和2回答了“1”,但在数据库中没有问题3-6的条目。像这样的记录还有很多。

EN

回答 2

Stack Overflow用户

发布于 2015-01-22 10:45:46

我不清楚您是否有要插入的记录(“别处”),或者已经在数据库的类似表中。

要在一条语句中执行多个更新,请使用以下命令:

代码语言:javascript
复制
INSERT INTO 
    DataProtection (Id, HolderCompanyId ...)
VALUES 
    ('9ee9455b-3ba5-440e-8329-c556ae8a1c7e', 1127 ...),
    ('9ee9455b-3ba5-440e-8329-c556ae8a1c7f', 1128 ...),
    ('9ee9455b-3ba5-440e-8329-c556ae8a1c7g', 1129 ...),
    ('9ee9455b-3ba5-440e-8329-c556ae8a1c7h', 1120 ...)

如果数据位于另一个表中,则可以使用以下语法将其选择到另一个表中:

代码语言:javascript
复制
INSERT INTO Table (DestCol1, DestCol2)
SELECT SourceCol1, SourceCol2
FROM SourceTable
WHERE SomeCondition
票数 1
EN

Stack Overflow用户

发布于 2015-01-22 11:12:48

我没有将SQL Server拉出来进行测试,但类似于:

代码语言:javascript
复制
    INSERT INTO DataProtection
(SELECT Id, HolderCompanyId, IssuerCompanyid, COALESCE(AnswerEnum, 'Answer Not Available'), COALESCE(AnsweredDate, 'No Answer Date')
    ClientId, cj.questionId
 FROM 
(SELECT UNIQUE ClientId FROM DataProtection 
CROSS JOIN QuestionsTable) AS cj
LEFT JOIN DataProtection AS dp ON cj.QuestionID=dp.QuestionId
WHERE AnswerEnum IS NULL)

实际上,您希望将唯一的客户机it与问题it交叉联接,然后将其与DataProtection表联接。然后进行筛选,以获得没有答案的行。这些是您想要重新插入到DataProtection表中的元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28080335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档