Подсчет заявок, находящихся в обработке

169
19 апреля 2018, 12:23

Приветствую.

Имеется следующая таблица БД:

CREATE TABLE IF NOT EXISTS `treatments` (
`id` int(11) NOT NULL auto_increment,
`account_id` int(11) NOT NULL,
`places_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`lc_id` int(11) NOT NULL,
`lc_name` varchar(250) NOT NULL,
`fullname` varchar(150) NOT NULL,
`phone` varchar(20) NOT NULL,
`tema` varchar(150) NOT NULL,
`text` varchar(5000) NOT NULL,
`status` enum('1', '2', '3', '4') NOT NULL default '1',
`type` enum('1', '2', '3', '4', '5') NOT NULL default '1',
`priority` enum('1', '2', '3', '4', '5') NOT NULL default '1',
`control` enum('1', '2') NOT NULL default '1',
`del` int(1) NOT NULL default '0',
`time` int(11) NOT NULL,
`replytime` int(11) NOT NULL,
`sroktime` int(11) NOT NULL,
`date` varchar(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `account_id` (`account_id`),
KEY `places_id` (`places_id`),
KEY `user_id` (`user_id`),
KEY `lc_id` (`lc_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

Необходимо подсчитать кол-во заявок, находящихся в обработке у определенного ответственного. lc_id - ID ответственного.

Такой запрос

SELECT `treatments`.*, (SELECT COUNT(*) FROM `treatments` WHERE `treatments`.`lc_id`=`users`.`id`) AS `treatmentscount` FROM `treatments` WHERE `places_id` IN (3, 1, 2) ORDER BY `id` DESC LIMIT 0, 20

явно не верный.

Похожий вопрос про подсчет Подсчет строк в MySQL Но всё равно немного не то.

Answer 1

Моё решение:

SELECT t.*, (SELECT COUNT(*) FROM `treatments` WHERE `treatments`.`lc_id`=`c`.`id`) AS `treatmentscount` FROM `treatments` t LEFT JOIN users c ON c.id = t.lc_id WHERE `t`.`places_id` IN (3, 1, 2) ORDER BY `id` DESC LIMIT 0, 20

READ ALSO
Сравнение двух таблиц? (SQL)

Сравнение двух таблиц? (SQL)

В результате ошибки накосячил немного при объединении базы людейВ некоторых записях (много) полное ФИО сократилось до короткого, например...

170
Как удалить элемент массива?

Как удалить элемент массива?

Предположим есть массив - array[1000]Нужно удалить элемент 400 и при этом сдвинуть массив с 401 на 400, 402 на 401 и т

195
Опечатка в книге Майерса. Правило 18

Опечатка в книге Майерса. Правило 18

Наткнулся у Майерса на такой код из правила

180
Декларация и реализация шаблона

Декларация и реализация шаблона

Потребовалось создать шаблон, делал все как обычно принято в C/C++, сначала декларацию в header файле, а потом и реализацию в cpp файле, разумеется...

218