假设我有以下表格:
表A
a_name | age | country
Jordan | 5 | Germany
Molly | 6 | Spain
Paris | 7 | France
表B
b_name | age | country
Kyle | 5 | Germany
Bob | 6 | Spain
Bob | 7 | Spain
Stephen | 7 | France
Kyle | 9 | France
Mario | 2 | Mexico
我想让它可以生成一个包含以下内容的 tableC:
id (auto increment primary key) | age | country | country_marker
1 | 5 | Germany | 1
2 | 6 | Spain | 2
3 | 7 | France | 3
4 | 7 | Spain | 2
5 | 8 | France | 3
6 | 9 | France | 3
7 | 2 | Mexico | 4
对于新表:
- 仅采用任何唯一的“年龄,国家”对并将它们放入表C中,“国家标记”会根据不同的“国家”自动分配递增的唯一数字
请注意,没有国家表,因为 tableC 中的“国家”只是基于 tableA 中的任何国家,而 tableB 和 country_marker 只是系统生成的标识符,用于指示表中的唯一国家/地区。输出表 C“id 和国家标记”的顺序无关紧要,只要符合上面的项目符号即可。
我已经痛苦地尝试使用 MySQL 游标来生成它,并且想知道它是否可能/我可以使用的一些 SQL 查询或一组查询是否会比使用游标更快。