【发布时间】:2017-08-17 09:45:57
【问题描述】:
一个客户可以进行多次查询,一个查询可以有很多更新。我正在尝试查看每个查询和最新更新。我可以提取最新日期,但不能提取与其相关的更新。我见过与我类似的答案,但它们似乎只处理一个连接,我不明白如何使用这些来找到解决方案。
这是我的 sql
select c.name, i.inquirycontent, u.updatecontent, max(u.date) from inquiries i
inner join customers c on c.customerid = i.customerid
left join updates u on u.inquiryid = i.inquiryid
group by i.inquiryid
即使我省略了客户表,我仍然无法匹配其内容的最新更新。我该怎么做?
编辑 - 根据要求,这里是一些示例数据
+------------+------+
| customerid | name |
+------------+------+
| 1 | jeff |
+------------+------+
| 2 | anne |
+------------+------+
+-----------+-----------------+------------+
| inquiryid | inquirycontent | customerid |
+-----------+-----------------+------------+
| 1 | inquiry1content | 1 |
+-----------+-----------------+------------+
| 2 | inquiry2content | 1 |
+-----------+-----------------+------------+
| 3 | inquiry3content | 2 |
+-----------+-----------------+------------+
+----------+-----------------+-----------+----------+
| updateid | updatecontent | inquiryid | date |
+----------+-----------------+-----------+----------+
| 1 | update1content | 1 | 01-01-17 |
+----------+-----------------+-----------+----------+
| 2 | update2content | 1 | 03-01-17 |
+----------+-----------------+-----------+----------+
| 3 | update3content | 3 | 04-01-17 |
+----------+-----------------+-----------+----------+
这就是我希望查询输出的内容 -
+------+-----------------+----------------+----------+
| name | inquirycontent | latestupdate | date |
+------+-----------------+----------------+----------+
| jeff | inquiry1content | update2content | 03-01-17 |
+------+-----------------+----------------+----------+
| jeff | inquiry2content | NULL | NULL |
+------+-----------------+----------------+----------+
| anne | inquiry3content | update3content | 04-01-17 |
+------+-----------------+----------------+----------+
【问题讨论】:
-
请张贴几行表格
-
如何格式化?
-
缩进 4 个空格并尽量让它看起来不错,就像代码块一样