Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql在数据库中检索同一记录有很多关系_Mysql - Fatal编程技术网

mysql在数据库中检索同一记录有很多关系

mysql在数据库中检索同一记录有很多关系,mysql,Mysql,我有一个联系人表和一个代码表。联系人有许多代码: mysql> DESCRIBE contacts; +------------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------------+------

我有一个联系人表和一个代码表。联系人有许多代码:

mysql> DESCRIBE contacts;
+------------------------+--------------+------+-----+---------+----------------+
| Field                  | Type         | Null | Key | Default | Extra          |
+------------------------+--------------+------+-----+---------+----------------+
| id                     | int(11)      | NO   | PRI | NULL    | auto_increment |
| first_name             | varchar(255) | YES  |     | NULL    |                |
| last_name              | varchar(255) | YES  |     | NULL    |                |
| email                  | varchar(255) | YES  |     | NULL    |  


mysql> DESCRIBE codes;
+-----------------------------+--------------+------+-----+---------+----------------+
| Field                       | Type         | Null | Key | Default | Extra          |
+-----------------------------+--------------+------+-----+---------+----------------+
| id                          | int(11)      | NO   | PRI | NULL    | auto_increment |
| code                        | varchar(255) | YES  |     | NULL    |                |
| contact_id                  | int(11)      | YES  |     | NULL    |                |
我可以检索所有具有代码的联系人:

SELECT * FROM `contacts` 
INNER JOIN `classification_codes` 
ON `contacts`.`id` = `codes`.`contact_id`;

不幸的是,即使联系人有许多代码,这也只会返回唯一的联系人记录。例如,如果联系人有两个代码,我想检索同一个联系人记录两次,每个记录分别与每个代码关联。如何在mysql中实现这一点?

更改表的顺序以获取所有具有联系人的代码。这应该可以做到这一点,只需更改表格顺序:

SELECT * FROM `classification_codes` 
INNER JOIN `contacts`  
ON `contacts`.`id` = `codes`.`contact_id`;