gpt4 book ai didi

mysql - Laravel 的 SQL 连接问题

转载 作者:行者123 更新时间:2023-11-29 10:36:09 27 4
gpt4 key购买 nike

我有 2 个表,其中第一个表包含类别的所有值,但我不想向每个客户显示所有类别,因此有一列 is_hidden ,结构为

cat_id    cat_name    is_hidden
1 cat no
2 cat1 no
3 cat2 no
4 cat3 no
5 cat4 yes
6 cat5 yes

现在在我的 SQL 查询中,我得到了 is_hidden 列为 no 的所有值在我的另一个表中,我正在批准一些客户显示类别表结构为

id   cat_id    client_id
1 5 1

现在我想显示 is_hidden 为 no 的表中的所有营销事件,现在我已经批准了表 2 中的客户,因此它还应该显示 5 中的类别 ID

现在我如何加入 SQL 以获得所需的结果。

这是我尝试过的代码。

Approvals::where('client_id',$client_id)
->rightJoin('tbl_cat', function ($join) {
$join->on('tbl_cat.cat_id', '=', 'tbl_approval.approval_id');
$join->where('tbl_cat.is_hidden','=','no');
});

但我没有在输出中得到类别 5。

最佳答案

这不能通过连接来实现。你应该像下面一样使用 union all

SELECT
*
FROM
table1
WHERE
is_hidden = 'no'
UNION ALL
SELECT
t.*
FROM
table2 t2 INNER JOIN table1 t ON t.id = t2.cat_id
WHERE
t2.client_id = 1

关于mysql - Laravel 的 SQL 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401394/

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