我必须使用雄辩的查询来显示剩余的书籍数量。 我可以从此表中获取购买的图书总数
ordered_books
BOOKCODE[varchar(10)] QUNATITY[varchar(6)]
111 25
423 15
201 10
111 10
423 10
201 5
158 12
首先,我必须对每本书的代码总计书总数。然后从另一个表中计算出差异。
books_out
DISTRIBUTOR[varchar(50)] BOOKCODE[varchar(10)] QUNATITY[varchar(6)]
25 158 2
35 201 5
45 158 5
55 111 10
35 111 5
15 423 1
25 423 10
同样,从该表中,我必须计算发行商所购书的总数,然后才能获得当前的实际书数。我应该如何针对这种情况编写雄辩的查询?
答案 0 :(得分:1)
after
答案 1 :(得分:1)
关于您的情况,我认为您需要此查询,请尝试一下并评论它是否有用。
$countBooks = DB::select(DB::Raw(" SELECT A.TOTAL, IFNULL(B.SOLD,0) AS SOLD, (A.TOTAL - IFNULL(B.SOLD,0)) AS REMAINING FROM
(
select t1.BookID, SUM(t1.QUNATITY) AS TOTAL from ordered_books t1
GROUP BY t1.BookID) A
LEFT JOIN
(
SELECT BookCode, IFNULL(SUM(Quantity),0) AS SOLD FROM books_outs GROUP BY BookCode) B
ON A.BookID = B.BookCode
"));
dump($countBooks);
此外,最好显示书籍名称而不是代码。它将更加人性化。谢谢!!!