首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用select语句的值将多行插入到某些表中

使用select语句的值将多行插入到某些表中
EN

Stack Overflow用户
提问于 2016-02-17 12:07:32
回答 3查看 919关注 0票数 2

是否可以使用select语句的值在一个表中插入多个行?

举个例子:

代码语言:javascript
运行
复制
INSERT INTO SomeTable (UserID, ModuleID, ModuleRights) VALUES 
      (u.UserId, 1, 15),
      (u.UserId, 2, 1),
      (u.UserId, 4, 3),
      (u.UserId, 8, 7)
SELECT * FROM Users u
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-17 12:10:02

是的,但你要小心你怎么做。在这种情况下,您似乎需要一个cross join

代码语言:javascript
运行
复制
INSERT INTO SomeTable (UserID, ModuleID, ModuleRights)
    SELECT u.UserId, v.ModuleID, v.ModuleRights
    FROM Users u CROSS JOIN
         (VALUES (1, 15), 
                 (2, 1), 
                 (4, 3), 
                 (8, 7)
         ) v(ModuleID, ModuleRights);
票数 7
EN

Stack Overflow用户

发布于 2016-02-17 12:11:38

代码语言:javascript
运行
复制
INSERT INTO SomeTable (UserID, ModuleID, ModuleRights) 
SELECT u.UserID, u.ModuleID, u.ModuleRights FROM Users u;

如果您的ModuleIDModuleRights不是users表的一部分,那么插入空值或虚拟值,并在需要的条件下进行替换。

票数 0
EN

Stack Overflow用户

发布于 2016-02-17 12:29:49

使用select语句插入多行

代码语言:javascript
运行
复制
insert into tbl_teacher
    (fName,
    lName,
    email,
    cNo)
    select s.fName,
           s.lName,
           s.email,
           s.cNo 
    from tbl_student s
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35456300

复制
相关文章

相似问题

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