SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
-- создаем таблицу Opers CREATE TABLE OPERS ( tr_viol_id INTEGER PRIMARY KEY, viol_oper_id_id INTEGER, date_oper DATETIME, viol_datetime DATETIME, oper_code INTEGER, refuse_code INTEGER, isp_id INTEGER ); -- заполняем таблицу Opers INSERT INTO OPERS VALUES (0001, 10, '2018-04-01', '2018-04-01',29,0,85); INSERT INTO OPERS VALUES (0002, 70,'2018-04-10', '2018-04-02',29,0,562); INSERT INTO OPERS VALUES (0003, 56, '2018-04-20', '2018-04-03',548,0,863); -- создаем таблицу Viols CREATE TABLE VIOLS ( tr_viol_id INTEGER PRIMARY KEY, viol_code INTEGER, time_check DATETIME, stage_code INTEGER, refuse_code INTEGER, camera_id INTEGER ); -- заполняем таблицу Viols INSERT INTO VIOLS VALUES (0001, 10, '2018-04-01', 10,29,1); INSERT INTO VIOLS VALUES (0002, 100,'2018-04-02', 15,30,0); INSERT INTO VIOLS VALUES (0003, 56, '2018-04-20', 1000,548,658); -- делаем отбор по дате SELECT * FROM VIOLS WHERE DATE (time_check) BETWEEN '2018-04-01' AND '2018-04-02'; SELECT * FROM OPERS WHERE DATE (viol_datetime) BETWEEN '2018-04-01' AND '2018-04-02'; -- делаем запросы и выводим таблицу SELECT OPERS.viol_datetime AS 'Дата нарушения ПДД' , VIOLS.time_check AS 'Дата нарушения ПДД', COUNT(VIOLS.time_check) AS "Число нарушений ПДД всего", SUM(OPERS.refuse_code = 0) AS "Число нарушений ПДД у которых результирующий код обработки нарушения ПДД равен 0", SUM(OPERS.oper_code = 29) AS "Число нарушений ПДД по которым была операция обработки тип 29", SUM(OPERS.oper_code<>29 AND OPERS.refuse_code=0) AS "Число нарушений ПДД по которым не было операции обработки тип 29, а результирующий код обработки нарушения ПДД равен 0" FROM OPERS INNER JOIN VIOLS ON OPERS.tr_viol_id = VIOLS.tr_viol_id GROUP BY OPERS.viol_datetime, VIOLS.time_check;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear