У меня есть таблица, как следующий:Регистрация вместо подзапроса
id user_id task task_closed
1 1 1 0
2 1 2 1
3 1 3 0
4 2 3 0
5 2 4 1
6 3 4 0
Что мне нужно, это вопрос, что для данной задачи будет возвращать все виды использования, которые имеют эту задачу, и для каждого из них числа общих незакрытых задач, которые у них есть.
так, что если мы говорим о задаче 3 Я хочу, чтобы получить
user_id pending
1 2
2 1
как в
SELECT tasks.user_id,
(SELECT COUNT(*)
FROM tasks t2
WHERE t2.user_id=tasks.user_id AND t2.task_closed=0
)
FROM tasks
WHERE tasks.id=?
Я хотел бы также переписать это как
SELECT user_id,COUNT(*)
FROM tasks
WHERE task=? AND task_closed=0
GROUP_BY user_id
WHERE user_id IN (SELECT t2.user_id from tasks t2 WHERE task=?);
Но У меня есть сильное чувство, что должен быть более эффективный способ сделать это, каким-то образом присоединившись к таблице с ее Эльф.
любые идеи о том, как я должен это делать?
Задача - это действительно столбец, который hlods id задачи. – epeleg
как я подозревал: D вы попробовали запрос? – Stephan
Да и его работа. но почему-то я все еще не понимаю, как делать то, что я хочу, в общем случае :(Например, предположим, что теперь я хочу присоединиться к результатам этого запроса с некоторой другой таблицей (например, чтобы получить некоторые данные на основе user_id, которые могут встречаются в мультипликационных продуктах, которые нравятся пользователю, и я ожидаю получить несколько строк с данными из текущих результатов, дублированных по каждому понравившемуся продукту). Я приму ваш ответ здесь, но если вы дадите больше информации, я буду благодарен – epeleg