Мне нужно запросить данные из нескольких таблиц, ниже приведены основные таблицы (упрощенные).Получить строку с min (приоритетом) из двух таблиц
Project
+-----+-------+-------+
| pid | pname | status| //status: 0 = pending, 1 = complete
+-----+-------+-------+
| 1 | Proj1 | 0 |
| 2 | Proj2 | 1 |
| 3 | Proj3 | 0 |
+-----+-------+-------+
Module
+-----+--------+-------+----------+-----------------+
| mid | pid | status| priority |modulecategoryid |
+-----+--------+-------+----------+-----------------+
| 1 | 1 | 1 | 1 | 1 |
| 2 | 1 | 0 | 2 | 3 |
| 3 | 3 | 1 | 1 | 1 |
| 4 | 3 | 0 | 2 | 3 |
| 5 | 3 | 0 | 3 | 5 |
+-----+--------+-------+----------+-----------------+
Task
+----+--------+-------+----------+-----------------+
| id | mid | status| priority | taskcategoryid |
+----+--------+-------+----------+-----------------+
| 1 | 2 | 1 | 2 | 2 |
| 2 | 2 | 0 | 1 | 1 |
| 3 | 4 | 1 | 1 | 2 |
| 4 | 4 | 1 | 2 | 3 |
| 5 | 4 | 0 | 3 | 4 |
| 6 | 5 | 0 | 1 | 1 |
+----+--------+-------+----------+-----------------+
Я пытаюсь выполнить ожидающие задачи для всех незавершенных проектов, которые могут быть запущены сначала на основе приоритета модуля и приоритета задачи. т.е. для Proj3, модуль с приоритетом 1 завершен, поэтому я должен получить первую приоритетную задачу для модуля 2.
Мне нужно получить самую предыдущую задачу для каждого ожидающего проекта с помощью modulecategoryid и taskcategoryid, чтобы получить соответствующую информацию, подобную этой.
+-----+--------+-----+------------------+----------------+
| pid | mid | tid | modulecategoryid | taskcategoryid |
+-----+--------+-----+------------------+----------------+
| 1 | 2 | 2 | 3 | 2 |
| 2 | 4 | 5 | 3 | 4 |
+----+---------+-----+------------------+----------------+
Я новичок в MySql, и я попробовал запрос с несколькими объединениями и сгруппировал его с помощью projectids и min (priority), чтобы получить желаемый результат. Но столбцы, которые не входят в группу, выбираются случайным образом из совокупности.
Я видел этот ответ SQL Select only rows with Max Value on a Column, но это решает проблему для данных только в одной таблице.
Должен ли я помочь? Я могу отправить мой запрос, если это необходимо, но он получает неверные данные.
Если вы все еще боретесь, см. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be -a-very-simple-sql-query – Strawberry