Sql server 根据SQL Server中的不同类型选择上一行
假设我有下表: 我希望实现以下目标: 我使用Microsoft SQL Server查找所有提款的存款,然后查找提款前的第一笔存款Sql server 根据SQL Server中的不同类型选择上一行,sql-server,Sql Server,假设我有下表: 我希望实现以下目标: 我使用Microsoft SQL Server查找所有提款的存款,然后查找提款前的第一笔存款 我已经尝试使用带有分区的行号,但是我没有管理,因为我从表中获得了第一笔存款,而不是在特定取款之前的第一笔存款。有人有建议吗?一种简单的方法是使用外部应用: 一种简单的方法是使用外部应用: 我已经尝试过使用带有分区的行数,然后向我们展示了这种尝试。你的问题,包括它。我已经尝试过使用带有分区的行数,然后告诉我们那个尝试。你的问题,包括它。 SELECT t1.Custo
我已经尝试使用带有分区的行号,但是我没有管理,因为我从表中获得了第一笔存款,而不是在特定取款之前的第一笔存款。有人有建议吗?一种简单的方法是使用外部应用:
一种简单的方法是使用外部应用: 我已经尝试过使用带有分区的行数,然后向我们展示了这种尝试。你的问题,包括它。我已经尝试过使用带有分区的行数,然后告诉我们那个尝试。你的问题,包括它。
SELECT t1.CustomerID
, t1.TransType
, t2.[DateTime] AS DepositDate
, t1.[DateTime] AS WithdrawalDate
FROM t t1
OUTER APPLY
(
SELECT TOP 1 [DateTime]
FROM t t2
WHERE
t1.CustomerID = t2.CustomerID
AND
t2.[DateTime] < t1.[DateTime]
AND
TransType = 'Deposit'
ORDER BY [DateTime] DESC
)
WHERE t1.TransType = 'Withdrawal'