У меня возникли трудности с моим запросом. Во-первых, позвольте мне обсудить с вами поток системы.Не удалось получить общую сумму каждого сотрудника по id && dept
Мой клиент владеет фирмой, а внутри учреждения у нее также есть мини-бакалейная столовая &) для своих сотрудников, чтобы взять их закуски/питание.
Сотрудникам не нужно платить по их заказу, вместо этого они просто перечисляют все предметы/блюда, которые они берут из бакалейной или столовой вместе с их именами и в день выплаты жалованья (ежемесячно) общая сумма предметы, которые были приняты каждым сотрудником, будут вычтены из общей зарплаты.
Ex1. Джон Картер взял Попкорн из бакалейной лавки стоимостью 45,00 долларов США, и к обеду он взял сэндвич вместе с салатом Цезаря из Столовой, стоимость которого составляет 125 долларов США. Поэтому в его зарплате из его зарплаты вычитается в общей сложности 170,00 долларов США.
В моей базе данных У меня было 3 стола. Один из них назван sales
, на который были сохранены все предметы, количество, единица и сумма_состояний из бакалеи.
Ex. Biscuit
, 10
, pack
;
Coffee Sachet
, 5
, pack
; и т.д.
Так в основном, на моем stock
столе у меня есть item_name
, quantity
, unitOfmeasurement
, amount_sale
Примечания: что amount_sale
этого числа продаж продуктового. Для следующей таблицы у меня есть serve
, где хранятся все запасы продуктов из столовой. У меня также есть item_name
, quantity
, и, конечно же, amount_serve
; чтобы заполнить это.
и, конечно же, таблица customer
, где таблицы клиентов, такие как name
и т. Д., Где хранятся.
Это мой запрос, чтобы получить общую сумму, которая будет вычтена для каждой зарплаты сотрудников.
SELECT c.*, SUM(sale.amount_sale) AS a, SUM(serv.amount_serve) AS b
FROM customer AS c INNER JOIN sales AS sale ON
sale.customer_id=c.customer_id INNER JOIN serve AS serv ON
serv.customer_id=c.customer_id GROUP BY c.customer_id ORDER BY c.cdept ASC;
С помощью этого запроса, вывод таков:
Рисунок 1:
Джон Картер должен быть вычтены $ 170,00
Джейн Хартли должны быть вычтены $ 130,00
выход был просто прекрасен и, как ожидалось, но мой клиент хочет следующее - получить общую стоимость каждого сотрудника за d epartment. Для дальнейшего объяснения этого вопроса, вот моя иллюстрация.
Рисунок 2 (ожидаемый выход):
Джон Carter- Accounting Отдел следует вычесть $ 170,00
Джейн Хартли - Бухгалтерский отдел должны быть вычтены $ 130,00
Сотрудников в бухгалтерии Кафе имеет общую сумму Из-за $ 300,00Боб Освальд-Маркетинговый отдел должен быть вычтен 260 долларов США.00
Мари мая Стюарта Отдел маркетинга должен быть вычтены $ 100,00
Сотрудники отдела маркетинга имеет причитающуюся сумму в $ 360,00
С запросом я представил вам выше я получил нужный мне результат на рисунке 1. Хотя сейчас мне трудно сделать рисунок 2. Я попытался изменить свой запрос, добавив and c.cdept
в GROUP BY c.customer_id
Но он отображает только вывод.
Рисунок 3:
Джон Картер-Accounting отдел должен быть вычтен $ 300,00 Смысла его собственные из-за в настоящее время слились с Джейн Хартли.
Любая идея, как получить результат для рисунка 2? Что бы я добавил в свой запрос, чтобы получить его, или что-то не так с моим запросом?
ТАБЛИЦА СТРУКТУРА:
-SALES-
ид, Customer_ID, sale_date, qtysold, amount_sale.
-SERVE-
serve_id, customer_id, serveate, qtyserve, amount_serve.
-CUSTOMER-
customer_id, customer_name, cdept.
Пример данных и ожидаемого результата будет очень полезен. –
Но сэр @CoderofCode Я уже включил данные примера и ожидаемый результат в формах с 1 по 2. – MoonPrincess
Это не пример данных, это только один пример того, как вы хотите его получить. Примеры данных могут включать в себя 5-10 строк данных, которые удовлетворяют всем вашим условиям, и ожидаемый результат - это то, что вы ожидаете в качестве вывода. –