好的,我在MySQL中有两个表。一个表包含客户信息,另一个表包含电话号码。我需要将这些表合并到一个查询中,以便从phones表中选择最多两个电话号码以及客户信息。现在我的问题是:
SELECT customers.name, phones.phone, phones2.phone
FROM customers
LEFT JOIN phones ON phones.customerid=customers.id
LEFT JOIN phones AS phones2 ON phones2.customerid=customers.id
GROUP BY customers.id;
但是,这将返回电话1和电话2的相同电话号码。基本上,我需要做的是将音素2偏移1,但我不知道如何在语法上这样做。
电话放在一张单独的桌子上,因为这是一对多的关系。
我需要这个在一个查询中,因为我将直接导出到csv。
非常感谢你的帮助。提前谢谢。
最佳答案
为了避免两次获得相同的电话号码,您可以更改以下内容:
LEFT JOIN phones AS phones2 ON phones2.customerid=customers.id
对此:
LEFT JOIN phones AS phones2 ON phones2.customerid=customers.id
AND phones2.phone <> phones.phone