mysql - MySQL从表A和表B插入表C
问题描述
我有 3 张桌子。
A:
----
ID |
----
1 |
---
2 |
---
3 |
---
B:
--------
config |
--------
paid |
-----------
dispatch |
-----------
delivered |
我想要的是我想将值插入表 C,这是表 A * 表 B 中的所有值。
那么C应该是
C:
-------------------
A.ID | B.config | Value
-------------------
1 | paid | True
2 | paid | True
3 | paid | True
1 | dispatch | True
2 | dispatch | True
3 | dispatch | True
1 | delivered | True
2 | delivered | True
3 | delivered | True
现在的问题是我可以使用 Single Mysql 语句来做到这一点,还是我必须编写一个带有嵌套for循环的脚本才能做到这一点。
解决方案
使用INSERT INTO ... SELECT
带有交叉连接的 an:
INSERT INTO C (ID, config, Value)
SELECT a.ID, b.config, 'True'
FROM A a
INNER JOIN B b
MySQL 中没有子句的内部连接ON
默认为交叉连接,尽管我们也可以使用CROSS JOIN
.
推荐阅读
- c - 如何在C中更改gtk图像按钮
- css - 更改特定路径的css中路径填充的颜色
- laravel - 在 laravel 中使用外部类时找不到类
- reactjs - 如何在从我的 api 获取之前和之后放置一个活动指示器
- excel - 使用 VBA 查找具有单独 EM 破折号的范围内的所有单元格并删除这些单元格
- python - 使用包含 BitFields 的 ShortField 构建 Scapy 层
- r - 在 Power BI 中的 R 中使用 GoogleVis
- java - 如何将新的客户端信息存储在数组中并能够在 java 中再次查看?
- javascript - 在没有初始化的javascript中声明一个const变量
- reactjs - 访问数组中的对象