加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 将子查询的结果插入带有常量的表中

发布时间:2020-12-12 07:46:06 所属栏目:MsSql教程 来源:网络整理
导读:有问题的表格大纲如下: 我有一个表,让我们称之为连接,它有两列,都是其他表的外键.让我们调用两列userid和buildingid,这样连接看起来就像 +--------------+| join ||--------------||userid ||buildingid |+--------------+ 我基本上需要在这个表中插入一堆行
有问题的表格大纲如下:

我有一个表,让我们称之为连接,它有两列,都是其他表的外键.让我们调用两列userid和buildingid,这样连接看起来就像

+--------------+
| join         |
|--------------|
|userid        |
|buildingid    |
+--------------+

我基本上需要在这个表中插入一堆行.通过在此表中包含多个条目,将为每个用户分配多个建筑物.因此,用户13可以通过以下方式分配给建筑物1,2和3

13 1
13 2
13 3

如果建筑物数量不变,我正试图弄清楚如何在查询中执行此操作,也就是说,我将一组人分配到同一建筑物.基本上,(这是错的)我想做

insert into join (userid,buildingid) values ((select userid from users),1)

那有意义吗?我也试过用

select 1

我遇到的错误是子查询返回多个结果.我还尝试创建一个连接,基本上是一个也不成功的静态选择查询.

有什么想法吗?

谢谢,
克里斯

解决方法

几乎!如果要插入查询的值,请不要尝试将它们放在values子句中. insert可以将select作为值的参数!
insert into join (userid,buildingid)
select userid,1 from users

此外,本着学习更多的精神,您可以使用以下语法创建不存在的表:

select userid,1 as buildingid
into join
from users

但是只有在表不存在的情况下才有效,但这是创建表副本的快捷方式!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读