我对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添加到临时表中。但说实话,我有点失落。
答案 0 :(得分:0)
您可以进行交叉联接以实现目标。
Internet Widgets(Iframe)