gpt4 book ai didi

sql - 如何在 Laravel 中进行 self 连接,从而产生不同的值

转载 作者:行者123 更新时间:2023-12-04 21:17:10 25 4
gpt4 key购买 nike

ID|user_id   |book_id   |author
1 |8 |7 |bill
2 |8 |6 |sally
3 |3 |7 |rob
4 |3 |4 |sarah
5 |3 |6 |jane
6 |8 |7 |frank

我想要实现的是 user_id 8 book_ids 匹配 user_id 3 book_id 的行。但只选择了 user_8s 行。并且还通过 book_id 区分。所以我希望结果是:

第 1 行,
第 2 行

到目前为止,我有这个,但不幸的是我一直得到第 6 行以及第 2 行和第 1 行。基本上我希望结果由 book_id 不同,但我不确定如何做到这一点。
$check = DB::table('table as u1') 
->join('table as u2','u1.book_id', '=', 'u2.book_id')
->where('u2.user_id', 8)->where('u1.user_id', 3)
->get();

最佳答案

你有两个选择。您可以使用 distinct()groupBy()
变体 1:

$check = DB::table('table as u1')
->join('table as u2','u1.book_id', '=', 'u2.book_id')
->where('u2.user_id', 8)->where('u1.user_id', 3)
->distinct()
->get();

变体 2:
$check = DB::table('table as u1')
->join('table as u2','u1.book_id', '=', 'u2.book_id')
->where('u2.user_id', 8)->where('u1.user_id', 3)
->groupBy('u1.book_id')
->get();

关于sql - 如何在 Laravel 中进行 self 连接,从而产生不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com