子查询有两个表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子查询有两个表相关的知识,希望对你有一定的参考价值。
我有两张桌子:
__Table R_____
ID.....CustID....DATE
1......1.........2000-01-01
2......2.........2000-01-02
3......2.........2000-01-03
4......2.........2000-02-22
5......1.........2000-03-23
__Table Customers______
ID....NAME
1.....Lucas
2.....Michael
请问,如何从每个客户的NAME返回最后一个DATE的SELECT? (这条路):
Lucas......2000-03-23
Michael....2000-02-22
答案
您可以使用:
select c.name, max(r.date)
from table_customers c
join table_r r on r.custid = c.id
group by c.id, c.name;
另一答案
您需要的选择,使用MAX将返回最新日期:
SELECT customer.name, MAX(r.date)
来自两个表的join:
FROM r INNER JOIN customer ON r.custid = customer.id
但是,如果您需要每个客户的最新日期,您需要group它:
GROUP BY r.custid;
另一答案
select c.name, r.date
from table_customers c
join table_r r on r.custid = c.id
ORDER BY r.date DESC
LIMIT 2 ;
以上是关于子查询有两个表的主要内容,如果未能解决你的问题,请参考以下文章