从三个表中获取记录以获取分类帐值

时间:2017-06-26 12:37:09

标签: sql sql-server database

我正在使用以下查询从两个表中获取记录。

我想从不同的表中获取借方金额,结果应如下所示。

我当前的查询

select VM.voucher_no, VM.vch_date,VM.vch_remarks, case when DT.vch_amt_type2app_elm='Debit' then dt.amount else 0 end as Debitamt,
case when DT.vch_amt_type2app_elm='Credit' then dt.amount else 0 end as Creditamt 
from TBL_VOUCHER_DETAIL DT 
INNER JOIN TBL_Voucher_Master  VM 
ON VM.voucher_no = DT.voucherdetail2vmaster 
where VM.Vch_Date  between  '2015-06-17 15:12:51.000' and '2015-06-17 15:12:51.000'
and DT.voucherdetail2ledgers='L00012'

,结果如下

Voucher No  Voucher Date    Remark  Debit   Credit
   49         17/06/2017      a       0     8229 

另一张表: - Tbl_invo字段名称: - Inv no,date,cliName,Total,Dabit。

1 个答案:

答案 0 :(得分:0)

@Raviraj如果我理解正确,你想用来自Tbl_invo的值替换Debitamt和Creditamt列中的dt.amount。我不确定您是否正在使用Tbl_invo.Total或Tbl_invo.Dabit,但无论您选择哪一个,您都可以:    对Tbl_invo进行另一次内部连接(如果它总是有值)然后用Tbl_invo.Total(或其他)替换dt.amount。    或者,您可以将dt.amount替换为对Tbl_invo的子查询,例如:enter image description here

...

或使用内部加入:enter image description here