Название | Описание |
ID | автоинкрементное поле |
TYPE | 0-физик; 1-юрик; 2-ИП |
SHARE | 0-Участник; 1-Нет |
РЕКВИЗИТЫ | Остальные общие реквизиты |
(c_NUM >= 44100 AND c_NUM < 45700)
substr(c_NUM,1,3) in ('441', '442', ...)
?select c_NUM
, cnt
from (
with tab as (select substr(c_NUM,1,3) c_NUM
, count(1) cnt
from z#PL_US
where substr(c_NUM,1,3) in ('441', '442', ...
,'410', '411', ...
)
group by substr(c_NUM,1,3)
)
select 1 sort , c_NUM, CNT
from tab
where c_NUM in ('441', '441')
union
select 2 sort , c_NUM, CNT
from tab
where c_NUM in ('410', '411', ...)
union
select 3 sort ,'ИТОГО П.1: ', sum(cnt)
from tab
where c_NUM in ('441', '441', ....)
union
select 4 sort ,'ИТОГО П.2: ', sum(cnt)
from tab
where c_NUM in ('410', '411', ...)
order by sort
)
CREATE TABLE `t_otp` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`dt_start` DATE NULL DEFAULT NULL,
`dt_end` DATE NULL DEFAULT NULL,
`fio` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
INSERT INTO `t_otp` (`id`, `dt_start`, `dt_end`, `fio`) VALUES
(1, '2015-03-07', '2015-03-10', 'Ваня'),
(2, '2015-03-08', '2015-03-12', 'Ира');
select concat(tab.date,' число - ',
(select count(1) from t_otp where tab.date between dt_start and dt_end)
, ' сотрудника в отпуске ') abb
from (
SELECT '2015-03-06' + INTERVAL(CAST(CONCAT(CAST(a.num AS CHAR), CAST(b.num AS CHAR)) AS UNSIGNED)) DAY `date`
FROM
(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS a,
(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS b
WHERE '2015-03-06' + INTERVAL(CAST(CONCAT(CAST(a.num AS CHAR), CAST(b.num AS CHAR)) AS UNSIGNED)) DAY <= '2015-03-13'
ORDER BY 1
) tab
2015-03-06 число - 0 сотрудника в отпуске
2015-03-07 число - 1 сотрудника в отпуске
2015-03-08 число - 2 сотрудника в отпуске
2015-03-09 число - 2 сотрудника в отпуске
2015-03-10 число - 2 сотрудника в отпуске
2015-03-11 число - 1 сотрудника в отпуске
2015-03-12 число - 1 сотрудника в отпуске
2015-03-13 число - 0 сотрудника в отпуске