从两个表中获得唯一的结果,或者如何通过id减去laravel中的两个表

0pizxfdo  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(284)

我有两张table和两张帐单。收费是为了解决收费与账单之间的多对多关系而产生的。

Fee
----------
id    
amt  
student_id

Bill_Fee
----------
fee_id   
bill_id

首先 Fee 表格的选择应借助 student_id 然后我需要 MINUS 作为一个 set(A={1,2,4,6,8} B={1,2,6,8,9,0}) A-B={4} 这样如果 fee_id 存在于 bill fee 不应提取这些费用的细节。还有那些 fee_id 哪些不在 Bill 应该提取

vcirk6k6

vcirk6k61#

你可以用 sub query & NOT EXISTS 这样地

SELECT *
FROM Fee AS a
WHERE NOT EXISTS (
  SELECT *
  FROM Bill_Fee AS b 
  WHERE a.id=b.fee_id
)

在laravel中有多种执行查询的方法
您可以这样执行查询

$sqlQuery = "SELECT ____________";
$result = DB::select(DB::raw($sqlQuery));

相关问题