Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 13

Как выполнить вычитание двух непростых запросов

10.02.2015, 18:51. Показов 2668. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, такая проблема

В двух разных таблицах идет подсчет времени после чего нужно вычесть результаты этих двух таблиц

MySQL
1
2
3
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(timeend) - TIME_TO_SEC(timeopen))) AS 't1' FROM tabel1 WHERE nikname =  'Иванов Иван Иванович'
 
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(timeend) - TIME_TO_SEC(timeopen))) AS 't2' FROM tabel2 WHERE nikname =  'Иванов Иван Иванович'

Пробывал сделать так:

MySQL
1
2
3
SELECT (SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(timeend) - TIME_TO_SEC(timeopen))) AS 't1' FROM tabel1 WHERE nikname =  'Иванов Иван Иванович')
+
(SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(timeend) - TIME_TO_SEC(timeopen))) AS 't2' FROM tabel2 WHERE nikname =  'Иванов Иван Иванович')
Но так тоже ничего не получилось так как время в таком варианте он переводит так если к примеру 12:30:00 то он это считает как 123000 и такие числа складывает/вычитает что совершенно не нужно.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2015, 18:51
Ответы с готовыми решениями:

Вычитание результатов двух запросов
Здравствуйте! Уже очень долго бьюсь над одной проблемой, но к какому-то решению придти так и не могу. Кусок схемы БД прикрипил к...

Как из двух запросов сделать один вложенный
Вот есть два запросы,помогите сделать вложенный. SELECT CONCAT(customer_name," ",Surname) as...

Вычитание двух запросов MS SQL
Здравствуйте! Помогите решить проблему. Не получается правильно составить запрос, который высчитывал разницу двух запросов. Для того,...

3
 Аватар для undiabler
5 / 5 / 0
Регистрация: 25.07.2012
Сообщений: 28
10.02.2015, 19:34
"вычесть результаты этих двух таблиц" это как? Списки одинаковой длинны и ты от каждого элемента отнимаешь элемент из другой таблицы?

Вообще если проблема только в "12:30:00 то он это считает как 123000" то отнимай timestamp, а уже на сервере при выводе преобразуй в дату.

Но я бы делал с ключом общим, и по нему select c join
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 13
11.02.2015, 10:42  [ТС]
Опишу ситуацию чуть подробнее
Есть форма где пользователь указывает время (к примеру с 10:00 по 13:00) - Это первая форма.
Вторая форма аналогичная пользователь так же указывает временной промежуток (к примеру с 13:00 по 16:00)

Теперь когда эти данные занесены каждые в свою таблицу начинают действовать запросы.

Суммируем все часы которые "с" и суммируем все часы которые "по" производим вычитание "по" - "с" и получаем время (промежуток) которое пользователь отметил т.е. (к примеру с 13:00 по 16:00 получается 16:00 - 13:00 результат 03:00)

Такие же вычисления по второй таблице и к примеру во второй таблице получается 05:00

Вот теперь загвоздка как вычесть результаты этих двух запросов от 05:00 - 03:00 чтобы в результате получилось 02:00.
0
 Аватар для artoodetoo
10 / 13 / 2
Регистрация: 02.02.2015
Сообщений: 46
11.02.2015, 11:04
Удобно пользоваться функциями TIMEDIFF() ( или TIMESTAMPDIFF() ) для вычисления разницы во времени. И ADDTIM() / SUBTIME() для сложения / вычитания временных значений.

Остается свести данные из двух таблиц в один запрос (по JOIN) и фигачить формулы

см. доку: http://dev.mysql.com/doc/refma... tions.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2015, 11:04
Помогаю со студенческими работами здесь

Как корректно выполнить вычитание времени
Здравствуйте, прошу помощи, Нужно из одного времени отнять другое, либо сложить $time1 = "00:30"; $time2 =...

Как выполнить много запросов сразу?
Всем привет. Мучаюсь уже 3й день. Пишу парсер XML документа. Документ очень большой, 34тыс. записей. Начал использовать библиотеку...

Выполнить вычитание чисел
Помогите пожалуйста, у меня программа самого вычитания есть, нужно добавить вот эти условия. Даны числа a и b. Произвести операцию...

Как сложить результаты двух запросов?
Доброго времени суток! Есть два запроса, объединены через union all. Как вывести сумму cnt1+cnt2? select count(*) as cnt1 from...

Как объединить результат двух запросов
Всем доброго времени суток. Есть два запроса в пакете. Никак не соображу, как мне результаты этих запросов вывести в одну таблицу. Если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru