两张表:
任务 - id、creator_id(其余不相关)
tag_tasks - tag_id,task_id
我想通过 tag_tasks 通过标签 id 的数组来获取任务,但也可以获取具有特定 creator_id 的任务。
这是我当前正在执行的语句(不起作用):
SELECT tasks.id, tasks.content
FROM `tasks`
JOIN tag_tasks ON tasks.id = tag_tasks.task_id
WHERE (
`tag_tasks`.`tag_id`
IN (1,2,3)
)
OR tasks.creator_id =1
GROUP BY tasks.id
ORDER BY `tasks`.`id` DESC
这将通过 tag_tasks 表返回任何任务,但忽略在我的连接表中没有记录的任务。
我想要的是一个可以做到这一点的查询:
SELECT tasks.id, tasks.content
FROM `tasks`
JOIN tag_tasks ON tasks.id = tag_tasks.task_id
WHERE (
`tag_tasks`.`tag_id`
IN (1,2,3)
)
GROUP BY tasks.id
ORDER BY `tasks`.`id` DESC;
和
SELECT tasks.id, tasks.content
FROM tasks
WHERE tasks.creator_id =1
GROUP BY tasks.id
ORDER BY `tasks`.`id` DESC
LIMIT 0 , 30
这可能吗?
谢谢你。