日期:2014-05-17  浏览次数:20417 次

SQL 疑难问题(求SQL语句)

我现在有两张表


表一:

ACCOUNTNUM FROMACCOUNT TOACCOUNT
108999         102100         108920
140599         110100         140510
140699         102100         140510
204799         204100         204700
……

这里第一个字段表示是汇总科目,这个科目的值由:Fromaccount 至 toaccount 里面的科目相加的。
比如:第一行的108999 就表示科目值等于:102100 ~ 108920 这个中间的科目(102100,102101……108920)科目的值相加。


表二:

ACCOUNTNUM DEBITMST CREDITMST
102100         0         -179
102101         0         -208
102102         956800         0
102103         0          -425
102104         0         -148
108920         0         -25
110100         200         0
102100         500         0
204100         300         0
140510         200         0

这里就是明细.



现在我想得出:(怎么写SQL语句,能等到下列这个表呀)
ACCOUNTNUM      DEBITMST                                CREDITMST
108999         102100至108920 表二的DEBITMST汇总    102100g至108920 表二的CREDITMST汇总
140599         110100至140510表二的DEBITMST汇总     110100至140510 表二的CREDITMST汇总
140699         102100至140510表二的DEBITMST汇总     102100至140510 表二的CREDITMST汇总
……

------最佳解决方案--------------------
--CREATE TABLE table1 (ACCOUNTNUM INT ,	FROMACCOUNT INT ,	TOACCOUNT INT )
 --INSERT INTO table1
 --SELECT 108999,         102100,         108920
 --UNION ALL 
 --SELECT 140599,         110100,         140510
 --UNION ALL 
 --SELECT 140699,         102100,         140510
 --UNION ALL 
 --SELECT 204799,         204100,         204700
 
 
 --CREATE TABLE table2 (ACCOUNTNUM INT , DEBITMST INT ,CREDITMST INT )
 --INSERT INTO table2
 --SELECT 102100,   &n