【发布时间】:2016-07-02 08:22:58
【问题描述】:
我有三个表 tblinventory、tbldisbursement、tblmissinglost。我想计算当日扣除支出和退货后的图书总存量。
select bn.No_of_books_procured
- (count(mis.Unr_ret_donated_discareded))
- (count(case when dis.dis_disbursed_return = 1
then dis.dis_disbursed_return end ) )as Stock
from tbl_inventorylibbooks bn
right
join tbl_limgt_booksmissing_lost_adjust mis
on mis.Book_Name_missingbk = bn.Id_inventory
left
join tbllibmange_disbursement dis
on dis.dis_book_name_fk_id = bn.Id_inventory
where bn.Id_inventory = 14
在少数条目上我得到正确答案,而其他结果条目则查询显示错误答案。您能否为此提供解决方案?
tblinventory
id Name
----------
1 xyz
考虑采购的图书总数=10
tbl支付
**booknameFK disbursed/returned**
----------------------------------------
Booknafk1 1
Booknafk2 0
Booknafk3 1
其中 1=已支付,0=已退回
tblmissinglost
**id BooknameFk missng**
----------------------------------------
1 Booknafk1 lost
2 Booknafk1 lost
----------------------------------------
还要检查这个查询
select (bn.No_of_books_procured) as procured,
count(distinct mis.Id_missingbooks_pid) as missing,
count( case when bs.dis_disbursed_return!=0 then
bs.dis_disbursed_return end) as disbursed
from tbl_limgt_booksmissing_lost_adjust mis
join tbllibmange_disbursement bs on
mis.book_name_missingbk=bs.dis_book_name_fk_id
join tbl_inventorylibbooks bn on bs.dis_book_name_fk_id=bn.Id_inventory
where bn.Id_inventory=14 group by bn.Id_inventory
我收到重复的条目
【问题讨论】:
-
你能包含当前和期望的输出吗?
-
请编辑您的帖子以包含表格结构和示例数据。
-
另外,我没有看到要按当天过滤的日期。这意味着这些表只保存当天的记录?
-
当您在其他一张表中多次出现同一本书时,通常会发生重复。您是否可以在 tbldisbursement 中为同一本书多次付款?
-
是的,但是书的 ID 会有所不同
标签: mysql