У меня есть два запроса, которые я пытаюсь использовать вместе.
Запрос 1 создает таблицу данных из таблицы заработной платы.В таблице заработной платы может быть несколько записей для одного человека в один и тот же день.Таким образом, если 'hours_type' совпадает, я хочу, чтобы часы добавлялись вместе, прежде чем этот запрос даст результаты.
SELECT `payroll`.*, `personnel`.`assigned_shift`
FROM `payroll`, `personnel`
WHERE `payroll`.`full_name`= `personnel`.`full_name`
AND `payroll`.`date` = '$f_date'
AND `personnel`.`assigned_shift` IN ('A', 'B', 'C')
ORDER BY `personnel`.`assigned_shift` ASC;
Запрос 2 добавит hours
вместе для дублирующихся записей, которые имеют full_name
и hours_type
тот же самый.Результаты этого запроса - это то, что я хочу использовать в запросе № 1 для дубликатов записей.
SELECT *, SUM(`hours`) AS `hours`
FROM `payroll`
GROUP BY `full_name`, `hours_type`
Я пробовал Union, Union All (узнал, что ни одна из этих работ не работает, так как количество столбцов по некоторым причинам отличается.) Я не совсем понимаю, как работают подзапросы, хотя я пробовал несколько попыток подзапроса.Любая помощь будет принята с благодарностью.(Я новичок в SQL).