gpt4 book ai didi

mysql - 在嵌套选择中插入mysql中的多个值

转载 作者:行者123 更新时间:2023-11-29 22:28:26 25 4
gpt4 key购买 nike

我对 sql 还很陌生。这可能是基本的。我有两个表,一个包含组,一个包含成员,我想将它们链接起来,以便第三个表包含 id_group 和 id_member。值 MYGROUP 在导入期间提供。我试过这个:

insert ignore into member_group (id_group, id_member) 
values ( ( select id_group from group where group_name='MYGROUP' ) ,
( select id_member from member ) );

但我最终在member_group 中得到了一行包含空值的结果。

例如,它本身会产生 1:

select id_group from group where group_name='MYGROUP';
+----------+
| id_group |
+----------+
| 1 |
+----------+

它本身会产生一个 id_members 列表

mysql> select id_member from member;
+-----------+
| id_member |
+-----------+
| 123 |
| 456 |
| 789 |

我希望member_group看起来像这样

+-----------+----------+
| id_group |id_member |
+-----------+----------+
| 1 | 123 |
| 1 | 456 |
| 1 | 789 |

我怎样才能做到这一点(不诉诸 shell 脚本、for 循环和 sed)?

根据要求,

mysql> select * from group;
+----------+------------------+
| id_group | group_name |
+----------+------------------+
| 1 | vip-member |
| 2 | standard-member |


mysql> select * from member;
+-----------+----------+
| id_member | fullname |
+-----------+----------+
| 123 | Bob |
| 456 | Pete |

如果我能让它工作,应该如下所示。

mysql> select * from member_group;
+------------------+----------+-----------+
| id_member_groups | id_group | id_member |
+------------------+----------+-----------+
| 1 | 1 | 123 |
| 2 | 1 | 456 |
| 3 | 1 | 789 |
| 4 | 2 | 123 |
| 5 | 2 | 789 |

id_group 在导入阶段提供。一批例如 200 个成员将是同一 id_group 的成员。我正在考虑将 group_id 添加到临时表中。但说实话我有点迷失。

最佳答案

您可以进行交叉联接来实现您的目标。

insert ignore into member_group (id_group, id_member)
select member_group.id_group, member.id_member
from member_group
cross join member
where group_name = 'MYGROUP';

关于mysql - 在嵌套选择中插入mysql中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30051801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com