左连接中的mysql子查询

本教程将介绍左连接中的mysql子查询的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

左连接中的mysql子查询 教程 第1张

问题描述

我有一个查询需要来自名为 tbl_emails_sent 的辅助表中的最新记录.

该表包含发送给客户的所有电子邮件.大多数客户记录了几到数百封电子邮件.我想提取一个显示最新的查询.

例子:

SELECT c.name, c.email, e.datesent
FROM `tbl_customers` c
LEFT JOIN `tbl_emails_sent` e ON c.customerid = e.customerid

我猜会使用带有子查询的 LEFT JOIN,但我并没有深入研究子查询.我的方向正确吗?

目前,上述查询并未针对指定表中的最新记录进行优化,因此我需要一些帮助.

推荐答案

应该是这样,需要单独查询才能获取邮件发送的最大日期(或最晚日期).

SELECT  a.*, b.*
FROM tbl_customers a
INNER JOIN tbl_emails_sent b
 ON a.customerid = b.customerid
INNER JOIN
(
 SELECTcustomerid, MAX(datesent) maxSent
 FROM  tbl_emails_sent
 GROUP BY customerid
) c ON  c.customerid = b.customerid AND
  c.maxSent = b.datesent

好了关于左连接中的mysql子查询的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。