Sql server 我需要从表格中找到从发送账单到收到付款所需的交付周期/天数
我需要编写一个查询,在该查询中,我应该找到给定表中交易从billsent到payment received所用的前置时间/时间。我有下表的详细说明,看看 步骤1:创建一个表“T_Account_Details”,其中有3列AccountId、TransactionDate和ActionTaked。(100110003……)和(2013年6月1日、2013年6月4日、2013年7月1日……)和(已发送账单、已收到付款……) 步骤2:可能有一些“已采取的行动”对应于之前的“billsent”。我们不应该考虑这些记录。 第3步:查找发送账单和收到付款之间的周转时间 这样,我有200行,对于某些accountid,只有billsent,没有收到付款;对于某些accountid,只有收到付款,但没有发送票据;对于某些accountid,billsent日期大于payment received日期 因此,对于所有这些标准,我需要找到从billsent到payment received的周转时间/交付周期/时间。由于我是sql server的新手,它对我来说有点复杂,您能帮我一下吗 谢谢,Sql server 我需要从表格中找到从发送账单到收到付款所需的交付周期/天数,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我需要编写一个查询,在该查询中,我应该找到给定表中交易从billsent到payment received所用的前置时间/时间。我有下表的详细说明,看看 步骤1:创建一个表“T_Account_Details”,其中有3列AccountId、TransactionDate和ActionTaked。(100110003……)和(2013年6月1日、2013年6月4日、2013年7月1日……)和(已发送账单、已收到付款……) 步骤2:可能有一些“已采取的行动”对应于之前的“billsent”。我们不
Rohit嗨,当我查询这个时,我得到了这个错误,请看一看。Msg 512,级别16,状态1,第1行子查询返回的值超过1。当子查询在=、!=、=或者当子查询用作表达式时。No accountid不唯一,因为还有其他事务也使用相同的acountid,所以accountid列不唯一
select account_id,date_bill,date_pay,datediff(day,date_bill,date_pay) 'Lead time'
from
(
select account_id,
(select transactionDate from T_Account_Details x where ActionTaken='billsent' and x.account_id = account_id) date_bill,
(select transactionDate from T_Account_Details x where ActionTaken='paymentReceived' and x.account_id = account_id) date_pay
from T_Account_Details
) T
order by account_id