powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL count
6 сообщений из 6, страница 1 из 1
MySQL count
    #39018878
necoro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток форумчане! Есть вот такая таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
mysql> show create table tasklist;
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tasklist | CREATE TABLE `tasklist` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `no` int(11) NOT NULL,
  `claim_id` decimal(20,2) DEFAULT NULL,
  `crt_date` datetime NOT NULL,
  `crt_ou` int(1) NOT NULL,
  `deadline` datetime NOT NULL,
  `complete_time` datetime DEFAULT NULL,
  `task` text NOT NULL,
  `creator` int(3) NOT NULL,
  `task_for` int(3) NOT NULL DEFAULT '1',
  `performer` int(3) DEFAULT '1',
  `complited` int(1) NOT NULL DEFAULT '2',
  `view_count` int(3) NOT NULL DEFAULT '0',
  `root` int(1) NOT NULL DEFAULT '1',
  `parent_id` int(11) DEFAULT NULL,
  `active_task` int(1) NOT NULL DEFAULT '0',
  `auto_task_id` int(2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `no` (`no`),
  KEY `complited` (`complited`),
  KEY `crt_date` (`crt_date`),
  KEY `creator` (`creator`),
  KEY `performer` (`performer`),
  KEY `parent_id` (`parent_id`),
  KEY `deadline` (`deadline`),
  KEY `combine` (`creator`,`performer`,`no`),
  KEY `crt_ou` (`crt_ou`)
) ENGINE=MyISAM AUTO_INCREMENT=171332 DEFAULT CHARSET=utf8 |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)



Что в ней есть и чего хочется получить.
Хранятся задачи для пользователя, задача может быть корневой (у нее root=1) либо дочерней, у нее соответственно root = id корневой задачи. Хотелось бы одним запросом получать список всех корневых задач, отсортированных по полю complited (1 - выполнено, 2 - в работе, 3 - просрочено) их ДОЧЕРНИХ задач. Т.е. если родительская задача выполнена и все дочерние в ней тоже выполнены, то эта родительская задача, должна быть внизу списка, если родительская выполнена а любая ее дочерняя имеет complied=3 то, строка должна быть первой, если родительская выполнена а любая ее дочерняя имеет complied=2 то, строка должна быть второй. Как-то так ..

Возможно ли это реализовать?
...
Рейтинг: 0 / 0
MySQL count
    #39019193
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
necoroотсортированных по полю complited (1 - выполнено, 2 - в работе, 3 - просрочено) их ДОЧЕРНИХ задачтолько прямых потомков или вообще всех? первое тривиально, второе - только на ХП
...
Рейтинг: 0 / 0
MySQL count
    #39019237
necoro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,
Не получилось подробно расписать задачу. Уточняю.
Задачи привязаны к другой таблице через поле no. Соответственно нужно получить список всех корневых задач с заданным полем no и далее уже отсортировать в зависимости от complited дочерних потомков (поле no у дочерних и корневых будет одинаковое).
...
Рейтинг: 0 / 0
MySQL count
    #39019546
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получилось спросить :) Задачи могут быть только корневые и дочерние (прямые потомки корневых), или могут быть ещё внучатые (потомки дочерних) и далее?
...
Рейтинг: 0 / 0
MySQL count
    #39019713
necoro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,
Неет, такого счастья слава Богу нет ). Одна корневая задача и от нее потомки имеющие все одного родителя.
...
Рейтинг: 0 / 0
MySQL count
    #39019769
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select 
 t1.id
 ,min(t2.complited) qwe -- min/max - смотрите сами, этот момент вы не оговорили
from tasklist t1
join tasklist t2 on t1.id=t2.root
where t1.root=1
 and t1.no=:NO
group by 1
order by 2,1
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL count
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]