我有一个表客户,它存储了 customer _ id、电子邮件和引用。还有一个附加的表 customer _ data,它存储对客户所做更改的历史记录,也就是说,当发生更改时插入一个新行。
为了在表中显示客户信息,需要将两个表连接起来,但是只有 customer _ data 中最近的一行才应该连接到 customer 表。
由于查询是分页的,因此有一个限制和偏移量,所以情况稍微复杂一些。
我如何使用 MySQL 做到这一点? 我认为我想把一个 DISTINCT 放在那里的某个地方..。
此时的查询是这样的-
SELECT *, CONCAT(title,' ',forename,' ',surname) AS name
FROM customer c
INNER JOIN customer_data d on c.customer_id=d.customer_id
WHERE name LIKE '%Smith%' LIMIT 10, 20
另外,我认为我可以这样使用与 LIKE 的 CONCAT,这样想对吗?
(我明白内部连接可能是使用错误类型的连接。实际上,我不知道不同的 JOIN 之间有什么区别。我现在就去调查一下!)