我查看了一堆关于多对多查询的问题和解决方案。我似乎无法绕过它。也许我不完全理解MySQL中的关键字。但...MySQL多对多查询混淆
我有3个表格。第一个表格是人员联系信息的列表。第二个表是邮件列表类别的列表。第三个表是关联表,其中包含第一个和第二个表中的id's
。我如何编写一个MySQL
查询来获取联系人表中与VIP list id
(我已拥有)匹配的所有联系人?
表1(触点)
id | name | email
-----------------------------
1 | John | [email protected]
-----------------------------
2 | Jane | [email protected]
-----------------------------
表2(LIST_TYPE)
id | list_name |
-----------------
1 | VIP's |
-----------------
2 | Generic |
-----------------
表3(list_contact_joiner)
contact_id | list_type_id |
----------------------------
1 | 2 |
----------------------------
2 | 1 |
----------------------------
这是我试过,但出现语法错误
$listID = 1;
SELECT list_contact_joiner.contact_id
FROM list_contact_joiner
WHERE list_id = $listID AS lcj
INNER JOIN contact_lists AS cl
ON cl.id = lcj.contact_id
谢谢。我使用了第二个版本,因为我已经有了可用的列表ID。你能否简单解释一下'ON'关键字? – 2015-04-02 19:04:48
如果加入2个表格,则需要定义将两者连接在一起的列。你在'ON'子句中这样做。 – 2015-04-02 20:41:49