首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从左外部连接中检索最大日期?

如何从左外部连接中检索最大日期?
EN

Stack Overflow用户
提问于 2011-03-30 01:06:54
回答 3查看 6.3K关注 0票数 2

我有2个表client_headquarter & clients

client_headquarter: id

客户端: id,headquarterid,clentname,tscreated

我想要显示所有总部,以及每个总部显示“最近的”客户(ts_created),如果它存在的话,在它的位置上是空白的。我希望所有这些都按照总部的顺序进行排序,这些总部没有客户,老客户和最新客户在底部。

有没有人能帮我解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-30 01:11:57

代码语言:javascript
复制
SELECT client_headquarter.id, max(clients.tscreated)
FROM client_headquarter 
LEFT OUTER JOIN clients ON clients.headquarterid = client_headquarter.id
GROUP BY client_headquarter.id
ORDER BY MAX(clients.tscreated) ASC
票数 3
EN

Stack Overflow用户

发布于 2011-03-30 01:16:09

就像..。

代码语言:javascript
复制
> select chq.id, count(clientname), max(tscreated) from clients c
> left outer join client_headquarter chq on c.hearquarterid = chq.id
> group by chq.id
> order by count(clientname) DESC, max(tscreated) DESC
票数 0
EN

Stack Overflow用户

发布于 2011-03-30 01:18:28

代码语言:javascript
复制
select 
    ch.id as [Headquarter ID],
    c.clientname as [Most Recent Client Name],
    c.tscreated as [Date Created]
from 
    client_headquarter ch
    left join 
    (select 
        headquarterid,
        max(tscreated)
    from
        clients
    group by
        headquarterid
    ) recent on recent.headquarterid = ch.id
    left join clients c on c.headquarterid = ch.headquarterid and c.tscreated = recent.tscreated
order by
    c.tscreated

如果多个客户具有相同的创建日期,这将为单个总部创建多个行。如果这是不可取的,那么必须定义和实现一些明确的区分获胜者的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5476234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档