MYSQL。让我介绍一下我的表格,缩小:
我有一个users带有行的表id。
我有一张桌子tasks,里面有行id和title。
我有一个表users_tasks,将它们与行id(uid对于 users.id)和tid(对于 tasks.id)连接起来。
现在,我想要一个所有任务的列表以及是否6已将具有 id 的用户分配给该任务的信息(= 如果users_tasks存在其中的条目uid= 6)
开始很简单,完成所有任务:SELECT * FROM tasks但现在呢?我试图继续使用 LEFT JOIN 来,users_tasks但结果太奇怪了,看起来似乎是正确的方向......我需要像条件连接这样的东西吗?我很困惑
我最喜欢的结果是这样的(假设有 4 个任务,用户 6 被分配给 1 和 3):
tasktitle | entry for user 6
-----------------------------
task 1 | 1
task 2 | 0
task 3 | 1
task 4 | 0
编辑对 tombom 的评论:
SELECT
*, EXISTS (SELECT 1 FROM users_tasks ut WHERE tasks.id = ut.tid AND ut.uid = 6)
FROM
tasks