MySQL联合问题-can';我们无法得到正确的数据
我需要将包含板球运动员的桌子正常化:MySQL联合问题-can';我们无法得到正确的数据,mysql,union,Mysql,Union,我需要将包含板球运动员的桌子正常化: +------------+--------------+------+-----+---------+-------+ |字段|类型|空|键|默认|额外| +------------+--------------+------+-----+---------+-------+ |matchID | int(11)| NO | PRI | 0 | |局数|国际(11)|否|初级| 0 | |BAT1名称| varchar(30)|是| |空| | |Bat
+------------+--------------+------+-----+---------+-------+
|字段|类型|空|键|默认|额外|
+------------+--------------+------+-----+---------+-------+
|matchID | int(11)| NO | PRI | 0 |
|局数|国际(11)|否|初级| 0 |
|BAT1名称| varchar(30)|是| |空| |
|Bat1Score | int(11)|是| |空| |
|balls1 | int(11)| YES | | | NULL | |
|六个1 | int(11)| YES | | | NULL | |
|四个1 | int(11)| YES | | | NULL | |
|out1 | varchar(10)|是| |空| |
|捕手1 | varchar(30)|是| |空| |
|bowler1 | varchar(30)|是| |空| |
|Bat2Name | varchar(30)| YES | | NULL |
|Bat2Score | int(11)| YES | | NULL |
|balls2 | int(11)| YES | | | NULL |
|六个整数(11)|是| | |空| |
|fours2 | int(11)| YES | | | NULL | |
|out2 | varchar(10)|是| |空| |
|捕手2 | varchar(30)|是| |空| |
|bowler2 | varchar(30)|是| |空| |
|Bat3Name | varchar(30)|是| |空| |
|Bat3Score | int(11)|是| |空| |
|balls3 | int(11)| YES | | | NULL | |
|六个3 | int(11)| YES | | | NULL | |
|fours3 | int(11)| YES | | | NULL | |
|out3 | varchar(10)| YES | | | NULL | |
|捕手3 | varchar(30)|是| |空| |
|bowler3 | varchar(30)|是| |空| |
|Bat4Name | varchar(30)|是| |空| |
|Bat4Score | int(11)| YES | | NULL |
|balls4 | int(11)| YES | | | NULL | |
|六个4 | int(11)| YES | | | NULL | |
|fours4 | int(11)| YES | | | NULL | |
|out4 | varchar(10)| YES | | | NULL | |
|捕手4 | varchar(30)|是| |空| |
|bowler4 | varchar(30)|是| |空| |
|Bat5Name | varchar(30)|是| |空| |
|Bat5Score | int(11)| YES | NULL |
|balls5 | int(11)| YES | | | NULL | |
|六个五整数(11)|是| |空| |
|fours5 | int(11)| YES | | | NULL | |
|out5 | varchar(10)| YES | | | NULL | |
|捕手5 | varchar(30)|是| |空| |
|bowler5 | varchar(30)|是| |空| |
|Bat6Name | varchar(30)|是| |空| |
|Bat6Score | int(11)| YES | NULL |
|balls6 | int(11)| YES | | | NULL | |
|六个整数(11)|是| | |空| |
|fours6 | int(11)| YES | | | NULL | |
|out6 | varchar(10)| YES | | | NULL | |
|捕手6 | varchar(30)|是| |空| |
|bowler6 | varchar(30)|是| |空| |
|Bat7Name | varchar(30)| YES | | NULL | |
|Bat7Score | int(11)| YES | NULL |
|balls7 | int(11)| YES | | | NULL | |
|六个7 | int(11)| YES | | | NULL | |
|fours7 | int(11)| YES | | | NULL | |
|out7 | varchar(10)| YES | | | NULL | |
|捕手7 | varchar(30)|是| |空| |
|bowler7 | varchar(30)|是| |空| |
|Bat8Name | varchar(30)| YES | | NULL | |
|Bat8Score | int(11)| YES | | NULL |
|balls8 | int(11)| YES | | | NULL | |
|六个整数(11)|是| | |空| |
|fours8 | int(11)| YES | | | NULL | |
|out8 | varchar(10)| YES | | | NULL | |
|捕手8 | varchar(30)|是| |空| |
|bowler8 | varchar(30)|是| |空| |
|Bat9Name | varchar(30)| YES | | NULL |
|Bat9Score | int(11)| YES | | NULL |
|balls9 | int(11)| YES | | | NULL | |
|六个9 | int(11)| YES | | | NULL | |
|fours9 | int(11)| YES | | | NULL | |
|out9 | varchar(10)| YES | | | NULL | |
|捕手9 | varchar(30)|是| | |空| |
|bowler9 | varchar(30)|是| |空| |
|Bat10Name | varchar(30)| YES | | NULL |
|Bat10Score | int(11)| YES | | NULL |
|balls10 | int(11)| YES | | | NULL | |
|六个10 | int(11)| YES | | | NULL | |
|四个10 | int(11)| YES | | | NULL | |
|out10 | varchar(10)| YES | | | NULL | |
|捕手10 | varchar(30)|是| |空| |
|bowler10 | varchar(30)|是| |空| |
|Bat11Name | varchar(30)| YES | | NULL | |
|BAT11得分|整数(11)|是| |空| |
|balls11 | int(11)| YES | | | NULL | |
|六个11 | int(11)| YES | | | NULL | |
|四个11 | int(11)| YES | | | NULL | |
|out11 | varchar(10)| YES | | | NULL | |
|捕手11 | varchar(30)|是| |空| |
|bowler11 | varchar(30)|是| |空| |
|附加信息(11)|是| |空| |
|最宽|整数(11)|是||
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| matchID | int(11) | NO | PRI | 0 | |
| innings | int(11) | NO | PRI | 0 | |
| Bat1Name | varchar(30) | YES | | NULL | |
| Bat1Score | int(11) | YES | | NULL | |
| balls1 | int(11) | YES | | NULL | |
| sixes1 | int(11) | YES | | NULL | |
| fours1 | int(11) | YES | | NULL | |
| out1 | varchar(10) | YES | | NULL | |
| catcher1 | varchar(30) | YES | | NULL | |
| bowler1 | varchar(30) | YES | | NULL | |
| Bat2Name | varchar(30) | YES | | NULL | |
| Bat2Score | int(11) | YES | | NULL | |
| balls2 | int(11) | YES | | NULL | |
| sixes2 | int(11) | YES | | NULL | |
| fours2 | int(11) | YES | | NULL | |
| out2 | varchar(10) | YES | | NULL | |
| catcher2 | varchar(30) | YES | | NULL | |
| bowler2 | varchar(30) | YES | | NULL | |
| Bat3Name | varchar(30) | YES | | NULL | |
| Bat3Score | int(11) | YES | | NULL | |
| balls3 | int(11) | YES | | NULL | |
| sixes3 | int(11) | YES | | NULL | |
| fours3 | int(11) | YES | | NULL | |
| out3 | varchar(10) | YES | | NULL | |
| catcher3 | varchar(30) | YES | | NULL | |
| bowler3 | varchar(30) | YES | | NULL | |
| Bat4Name | varchar(30) | YES | | NULL | |
| Bat4Score | int(11) | YES | | NULL | |
| balls4 | int(11) | YES | | NULL | |
| sixes4 | int(11) | YES | | NULL | |
| fours4 | int(11) | YES | | NULL | |
| out4 | varchar(10) | YES | | NULL | |
| catcher4 | varchar(30) | YES | | NULL | |
| bowler4 | varchar(30) | YES | | NULL | |
| Bat5Name | varchar(30) | YES | | NULL | |
| Bat5Score | int(11) | YES | | NULL | |
| balls5 | int(11) | YES | | NULL | |
| sixes5 | int(11) | YES | | NULL | |
| fours5 | int(11) | YES | | NULL | |
| out5 | varchar(10) | YES | | NULL | |
| catcher5 | varchar(30) | YES | | NULL | |
| bowler5 | varchar(30) | YES | | NULL | |
| Bat6Name | varchar(30) | YES | | NULL | |
| Bat6Score | int(11) | YES | | NULL | |
| balls6 | int(11) | YES | | NULL | |
| sixes6 | int(11) | YES | | NULL | |
| fours6 | int(11) | YES | | NULL | |
| out6 | varchar(10) | YES | | NULL | |
| catcher6 | varchar(30) | YES | | NULL | |
| bowler6 | varchar(30) | YES | | NULL | |
| Bat7Name | varchar(30) | YES | | NULL | |
| Bat7Score | int(11) | YES | | NULL | |
| balls7 | int(11) | YES | | NULL | |
| sixes7 | int(11) | YES | | NULL | |
| fours7 | int(11) | YES | | NULL | |
| out7 | varchar(10) | YES | | NULL | |
| catcher7 | varchar(30) | YES | | NULL | |
| bowler7 | varchar(30) | YES | | NULL | |
| Bat8Name | varchar(30) | YES | | NULL | |
| Bat8Score | int(11) | YES | | NULL | |
| balls8 | int(11) | YES | | NULL | |
| sixes8 | int(11) | YES | | NULL | |
| fours8 | int(11) | YES | | NULL | |
| out8 | varchar(10) | YES | | NULL | |
| catcher8 | varchar(30) | YES | | NULL | |
| bowler8 | varchar(30) | YES | | NULL | |
| Bat9Name | varchar(30) | YES | | NULL | |
| Bat9Score | int(11) | YES | | NULL | |
| balls9 | int(11) | YES | | NULL | |
| sixes9 | int(11) | YES | | NULL | |
| fours9 | int(11) | YES | | NULL | |
| out9 | varchar(10) | YES | | NULL | |
| catcher9 | varchar(30) | YES | | NULL | |
| bowler9 | varchar(30) | YES | | NULL | |
| Bat10Name | varchar(30) | YES | | NULL | |
| Bat10Score | int(11) | YES | | NULL | |
| balls10 | int(11) | YES | | NULL | |
| sixes10 | int(11) | YES | | NULL | |
| fours10 | int(11) | YES | | NULL | |
| out10 | varchar(10) | YES | | NULL | |
| catcher10 | varchar(30) | YES | | NULL | |
| bowler10 | varchar(30) | YES | | NULL | |
| Bat11Name | varchar(30) | YES | | NULL | |
| Bat11Score | int(11) | YES | | NULL | |
| balls11 | int(11) | YES | | NULL | |
| sixes11 | int(11) | YES | | NULL | |
| fours11 | int(11) | YES | | NULL | |
| out11 | varchar(10) | YES | | NULL | |
| catcher11 | varchar(30) | YES | | NULL | |
| bowler11 | varchar(30) | YES | | NULL | |
| extras | int(11) | YES | | NULL | |
| wides | int(11) | YES | | NULL | |
| noBalls | int(11) | YES | | NULL | |
| byes | int(11) | YES | | NULL | |
| legByes | int(11) | YES | | NULL | |
| score | int(11) | YES | | NULL | |
| wickets | int(11) | YES | | NULL | |
| overs | float | YES | | NULL | |
| runrate | float | YES | | NULL | |
| team | varchar(100) | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
mysql> describe players;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| player_id | int(11) | NO | PRI | NULL | auto_increment |
| player_surname | varchar(30) | YES | | NULL | |
| team | varchar(100) | YES | MUL | NULL | |
+----------------+--------------+------+-----+---------+----------------+
3 rows in set (0.03 sec)
INSERT INTO players (player_surname)
SELECT DISTINCT bat1Name from details
UNION
SELECT DISTINCT bat2Namen from details
UNION
SELECT DISTINCT bat3Name from details
(etc............................)
SELECT DISTINCT bat11Name from details;
INSERT INTO players (player_surname, team)
SELECT DISTINCT bat1Name,team from details
UNION
SELECT DISTINCT bat2Namen,team from details
UNION
SELECT DISTINCT bat3Name,team from details
(etc.............................)
SELECT DISTINCT bat11Name,team from details;
bat1 bat2 team
Smith Jones UK
Doe Smith Zealand
SELECT batname
FROM (
SELECT bat1Name AS batname, team
FROM details
UNION
SELECT bat2Name, team
FROM details
UNION …
) q