我有一个联系人表和一个密码表。联系人有多个代码:
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中实现这一点?
发布于 2015-02-18 18:29:56
只需更改表顺序:
SELECT * FROM `classification_codes`
INNER JOIN `contacts`
ON `contacts`.`id` = `codes`.`contact_id`;发布于 2015-02-18 18:29:10
更改表的顺序,以获取所有具有联系人的代码。这应该能起作用
https://stackoverflow.com/questions/28590891
复制相似问题