假设我有以下表格:
表A
a_name | age | country
Jordan | 5 | Germany
Molly | 6 | Spain
Paris | 7 | France
tableB的
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中的“国家/地区”仅基于tableA中的任何国家/地区,而tableB和country_marker只是系统生成的标识符,用于指示表中的唯一国家/地区。输出tableC“id和country marker”排序无关紧要,只要它符合上面的子弹。
我已经痛苦地试图使用MySQL游标来制作它,并想知道它是否可能/我可以使用哪些SQL查询或查询集,这会比使用游标更快。
答案 0 :(得分:0)
我首先在phpmyadmin之类的东西中创建表C。然后我写一个查询来从表A和B中提取我要放入C的信息。然后,在phpmyadmin中,我将查询结果导出到本地机器上的.sql文件中。我打开.sql文件对INSERT语句进行必要的修改,以便我可以将.sql文件中的数据导入到表C中。
这不是最有效的方式,但它似乎是技术上最不可行的方式。