sql - 如何从其他两个表中插入表主键进行每个组合?
问题描述
我使用 MS SQL Server,我有 3 个表,A、B 和 C。A 和 B 都有名为 Id 的列。我想将这些值插入到 C 中,使每个组合,所以假设表 A 有数据:
Id
1
2
3
表 B 有数据:
Id
4
5
我正在尝试实现表 C 有数据:
Id | A_Id| B_Id
1 |1 | 4
2 |1 | 5
3 |2 | 4
4 |2 | 5
5 |3 | 4
6 |3 | 5
我将不胜感激任何帮助。
解决方案
你需要cross join
:
select *
from tablea a cross join
tableb b
order by a.id;
因此,您可以使用insert
语句:
insert into tablec (A_Id, B_Id)
select *
from tablea a cross join
tableb b
order by a.id;
推荐阅读
- ios - 使用 storyboard?.instantiate 返回“意外发现 nil”错误
- ansible - Ansible模块获取windows的所有服务信息
- c - 为什么在 C 中使用外部库时 eclipse 不调试?
- javascript - $event.stopPropagation() 在下拉切换中不起作用
- android - 如何在网站上使用 Web Share API 进行网页查看?
- php - 在 Wordpress 中尝试访问主题编辑器时出现“内部服务器错误”
- mongodb - 使用用户名和密码检查与 MONGO DB 服务器的连接
- python-3.x - 使用 Python 请求在 post 请求中发送 cookie 的正确格式是什么?
- django - 使用 Django 从 csv 文件中读取和保存新记录
- angularjs - 图表 js 未在 Angular 应用程序中正确加载