如何显示客户 XX 使用哪个塔(Towerid、位置)进行第一次呼叫?

发布于 2025-01-18 21:48:58 字数 256 浏览 2 评论 0原文

我无法从特定客户那里获得第一次呼叫的结果。我可以从这个特定客户那里获得所有呼叫的结果。

Table 1: Tower: TowerID, Location
Table 2: Connect: Tower ID, CallsID
Table 3: Calls: CallsID, MoBileID, CallDate
Table 4: Mobile: MobileID, CustomerID

我希望第一次打电话给客户xx,塔里德,位置

I cannot get the result for the first call from a specific customer. I can get the result for all the calls from this specific customer.

Table 1: Tower: TowerID, Location
Table 2: Connect: Tower ID, CallsID
Table 3: Calls: CallsID, MoBileID, CallDate
Table 4: Mobile: MobileID, CustomerID

I expected to have the first call for a customer XX, Towerid, Location

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可遇━不可求 2025-01-25 21:48:58

在这种情况下,您可以使用分区。我没有测试以下查询,但我希望它有效。

select temp.CustomerId, t.TowerId, t.Location
from Tower t 
    join Connect c on t.TowerId = c.TowerId 
    join (
        select CustomerId
         , CallsId
         , row_number() over (partition by CustomerId order by CallDate) rank
         from Calls c
             join Mobile m on c.MobileId = m.MobileId
    ) temp on temp.CallsId = c.CallsId and rank = 1

You can use partition by in this case. I've not tested the below query but I hope it works.

select temp.CustomerId, t.TowerId, t.Location
from Tower t 
    join Connect c on t.TowerId = c.TowerId 
    join (
        select CustomerId
         , CallsId
         , row_number() over (partition by CustomerId order by CallDate) rank
         from Calls c
             join Mobile m on c.MobileId = m.MobileId
    ) temp on temp.CallsId = c.CallsId and rank = 1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文