2 つのテーブル:
タスク - id、creator_id (残りは関係ありません)
tag_tasks - tag_id、task_id
タグIDの配列を介してtag_tasksを介してタスクを取得したいのですが、特定の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
これは可能ですか?
ありがとうございました。