gpt4 book ai didi

MySQL 查询未正确返回

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:58 24 4
gpt4 key购买 nike

--编辑

不知为何我还是不明白。我会详细说明我的问题。

工作表

   id, title ... all details
1, title1,...
2, title2,...
3, title3,...
4, title4,...

工作用户表

id,id_job,id_user
1,1,1
2,2,3
3,3,3
4,4,4

following_job 表

id,id_job,id_user
1, 1, 3

所以基本上,用户 3 有 2 个工作 (2,3),他跟随用户 1 的工作 1。所以,如果我以用户 3 登录,我想获得用户 <> 3 的所有详细工作(只是我需要做的要求)。我会得到结果

id,id_job,id_user
1,1,1
4,4,4

我的目标结果是:

id,title..., following_id
1,title1,...,1
4,title4,...,0

following_id 将作为上面的结果添加,因为用户 3 跟随了 id_job 1,所以它的 following_id = 1 else = 0。并且 id_job 1,4 将与 jobs 表连接以获取有关它的详细信息:title ...

我正在执行关注/取消关注工作功能

谢谢大家

最佳答案

通常您会有第二个表,其中包含您要搜索/匹配的 id_job 值,如下所示:

has_jobs

id_job | (other columns...)
2
3

然后,您可以将 has_jobs 加入 following_job 以获得您想要的结果:

SELECT t2.id
t1.id_job,
CASE WHEN t2.id_job IS NULL THEN 0 ELSE 1 END AS following_id
FROM has_jobs t1
LEFT JOIN following_job t2
ON t1.id_job = t2.id_job

如果您没有实际的 has_jobs 表,则可以改用内联表:

SELECT t2.id
t1.id_job,
CASE WHEN t2.id_job IS NULL THEN 0 ELSE 1 END AS following_id
FROM
(
SELECT 2 AS id_job
UNION ALL
SELECT 3
-- add more IDs here if wanted
) t1
LEFT JOIN following_job t2
ON t1.id_job = t2.id_job

关于MySQL 查询未正确返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43511505/

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