Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 显示多个表中的帐户余额_Sql_Sql Server - Fatal编程技术网

Sql 显示多个表中的帐户余额

Sql 显示多个表中的帐户余额,sql,sql-server,Sql,Sql Server,我有下面两个表,其中存储了有关信用和借记记录的信息 voucherCr表包含 voucherType voucherPrefix voucherNo crparty cramount SALES S 1 1 43000 SALES S 2 1 10000 voucherType vouche

我有下面两个表,其中存储了有关信用和借记记录的信息

voucherCr表包含

voucherType    voucherPrefix    voucherNo    crparty    cramount
SALES          S                1            1          43000
SALES          S                2            1          10000
voucherType    voucherPrefix    voucherNo    drparty    dramount
SALES          S                1            5          43000
SALES          S                2            5          10000
voucherDr表包含

voucherType    voucherPrefix    voucherNo    crparty    cramount
SALES          S                1            1          43000
SALES          S                2            1          10000
voucherType    voucherPrefix    voucherNo    drparty    dramount
SALES          S                1            5          43000
SALES          S                2            5          10000
现在,在销售凭证S/1中,1方已将43000金额贷记给5方相同金额。销售凭证S/2也是如此,其中1方已从5方贷记10000美元,金额相同

现在,如果我查询party 1,我想显示如下结果

PARTY    CREDIT    DEBIT    DEBITPARTY    voucherType    voucherPrefix    voucherNo
1        43000              5              SALES          S                1
1        10000              5              SALES          S                2

请帮助尝试使用此查询。在您的情况下,一个
dramount
voucherDr
中是否可能被分成多行?例如43000->40000+3000

select 
vc.Party,vc.CrAmount, vd.drAmount, vd.drparty, 
vc.voucherType, vc.voucherPrefix, vc.voucherNo

from voucherCr vc
left join voucherDr vd on (vc.voucherType=vd.voucherType)
                          and (vc.voucherPrefix=vd.voucherPrefix)
                          and (vc.voucherNo=vd.voucherNo)

where vc.PARTY=1

如果我正确理解了你的问题,那么这就是你想要的

Select c.crParty as Party, d.dramount as credit , null as debit,
d.drParty as DEBITPARTY,c.voucherType as voucherType,
d.voucherPrefix,d.voucherNo
from VoucherCr as c inner join VoucherDr as d
on c.voucherNo=d.VoucherNo and c.voucherPrefix=d.voucherPrefix
where c.crparty=1
group by d.dramount,c.cramount,d.voucherPrefix,d.voucherNo,c.crParty,
c.voucherType,d.drParty
order by d.dramount desc

试着

R你认为Voucheno与表voucherDr的金额相匹配吗?@AndriyM,我不是粗鲁的,我需要类似于Praveen的答案