【发布时间】:2017-07-17 08:06:30
【问题描述】:
我有这样的表 Customer 和 Calls:
客户表:
- CustomerId:唯一标识符
- 企业名称:nvarchar(MAX)
来电表:
- CallId:唯一标识符
- 呼叫日期:日期时间
- 客户 ID:唯一标识符
- 状态:int(呼叫已接听或未接听)
我想获取所有带有最后一次调用和下一次调用列的客户。
Last Called 是状态 = 1 的最后一次调用。Next Call 是状态 = 0 和 Calldate > now 日期的调用。如果他们没有,则为 Null。这是一个非工作示例,只是为了显示格式
Select *
From Customers,
Calls.CallId as LastCalledId
Calls.CallDate as LastCalledDate
Calls.CallId as NextCallId
Calls.CallDate as NextCallDate
LEFT JOIN
Calls ON Customers.CustomerId = Calls.CustomerId
我该怎么做?
【问题讨论】:
-
您使用的是什么版本的 sql server?另外,您能否提供 DDL+DML 形式的示例数据和所需的结果?
-
2008.但是如果有 2008 没有的更简单的解决方案,我们可能会在以后升级。所以如果你能用两种方法告诉我。
-
我更新了。如果您需要更多信息,请告诉我。
标签: sql sql-server tsql