【发布时间】:2013-05-12 20:44:04
【问题描述】:
我有这三张桌子 由于 account 和 bounse 之间存在多对多关系,我想通过将当前月份的 bounse 与上个月相减来比较每个帐户的 bounse 与上个月的 bounse
tbl_account
account_id account_name
----------- ---------------------
1 Account1
2 Account2
tbl_bounse
bounse_id bounse_name
----------- -------------
42 bounseA
43 bounseB
44 BounseC
tbl_detail(tbl_account 和 tbl_bounse 之间的链接表)
detail_accound_id detail_bounce_id detail_value detail_id detail_date
----------------- ---------------- -------------------- ----------- -----------
1 42 24000 158981 2013-05-05
1 42 25000 159113 2013-06-06
1 43 150 158982 2013-05-05
1 43 150 159114 2013-06-06
1 44 23000 158983 2013-05-05
1 44 25150 159115 2013-06-06
2 42 20000 159025 2013-05-05
2 42 23000 159157 2013-06-06
2 43 400 159026 2013-05-05
2 43 350 159158 2013-06-06
2 44 10000 159021 2013-05-05
2 44 11000 159159 2013-06-06
我想将结果总结为
accound_id detail_date BounseA BounseB BounseC
----------- ----------- ------- ------- -------
1 2013-05-05 24000 150 23000
1 2013-06-06 25000 150 25500
1 differ date 1000 0 2500
2 2013-05-05 20000 400 10000
2 2013-06-06 23000 350 11000
2 differ date 3000 -50 1000
将临时表返回为
accound_id detail_date BounseA BounseB BounseC
----------- ----------- ------- ------- -------
1 differ date 1000 0 2500
2 differ date 3000 -50 1000
我正在尝试使用数据透视和动态 sql,但我不知道如何减去行并将减去的结果插入到临时表中
SQL server 2008 r2,使用 T-SQL 或 LINQ 查询
【问题讨论】:
-
请确认您是否只有两个日期,因为您只想获取两个日期之间的差异。
-
+1 很好的解释..
-
是的,我只有两个日期可以比较(当前月份和上个月),但我有很多日期详细信息存储在 tbl_detail 中