mrusklon
@mrusklon
Не получается? Яростно гугли!

Как сделать операции с данными полученными с БД?

Есть 2 таблицы
точнее есть часть из выборки
SELECT `date` ,`user_id`, SUM(hours) sub_hours
FROM `users` 
WHERE `date` BETWEEN '2019-03-01' AND '2019-04-30'
GROUP BY `date`, `user_id`

и
dayoff
date | day_id

а еще

в day_id записаны 1 - не рабочий день , 2 - сокращенный день
надо в sub_hours при совпадении даты из dayoff пересчитать часы
если day_id 1 то все hours так и оставляем , а если day_id 2 то hours - 7 и записываем обратно в sub_hours .
Если SUM(hours) меньше 7(id 2) или меньше 8 (id1) или если не совпало с id 1 и 2 и меньше 8 ,
то не добавлять его в выборку совсем
а затем я этот массив просто показываю юзеру

кто подскажет как это сделать?
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 2
romanko_vn
@romanko_vn
Вот пример как можно сделать используя MySQL CASE Function

UPDATE table SET uid = CASE
    WHEN id = 1 THEN 2952
    WHEN id = 2 THEN 4925
    WHEN id = 3 THEN 1592
    ELSE uid
    END
WHERE id IN (1,2,3)
Ответ написан
@dimoff66
Кратко о себе: Я есть
Получить их из БД в готовом виде, используя левое соединение в SQL запросе
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы