我有两张桌子:
customer 同 schema_id
架构表有: schema_id, period, amt, updated_date
我需要加入客户和架构,但只检索加入的最新记录而不是其他记录.
customer table
cust_id name schema_id
1 ABC 1
Run Code Online (Sandbox Code Playgroud)
架构表
schema_id period amt updated_date
1 1 100 2010-4-1
1 2 150 2011-4-1
Run Code Online (Sandbox Code Playgroud)
如果你需要max(updated_date)for each schema_id,那么你可以使用子查询:
select c.cust_id, c.name, c.schema_id, s.period, s.amt, s.updated_date
from customer c
inner join
(
select s1.schema_id, s1.period, s1.amt, s1.updated_date
from `schemas` s1
inner join
(
select schema_id, max(updated_date) MaxDate
from `schemas`
group by schema_id
) s2
on s1.schema_id = s2.schema_id
and s1.updated_date = s2.maxdate
) s
on c.schema_id = s.schema_id
Run Code Online (Sandbox Code Playgroud)
然后,子查询将用于连接回表,以返回具有匹配日期和schema_id的行.
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |