Я едва знаю, как задать этот вопрос или возможно ли это в SQL. Я работаю в торговой компании, и представители часто делятся счетами друг с другом в разделе «Разделенные коды». У меня есть таблица, которая документирует все эти разделенные коды и коэффициент выплат для каждого действительного кода представителя.
Split_codes
Split_code, Rep_code, Payout%
100 200 60%
100 201 40%
Это означает, что 60% любого бизнеса, разделенного на 100, получают за представителя 200, а 40% - за 201 представителя.
Моя таблица продаж довольно общая c с соответствующие поля: "ID, Доход и т. д. c, и т. c" без упоминания того, что идентификатор является разделенным или нормальным кодом
Revenue
ID,Revenue,date
100, $100,1/1/2020
200, $200,1/5/2020
201, $150,1/5/2020
205, $100,1/5/2020
У меня есть третья таблица со всеми кодами Rep_Code, которые не являются разбиениями
Rep_Codes
First,Last,RepCode,etc etc
John, Smith, 200 , ABC,DE
Так что довольно легко связать таблицу Rep_Code с таблицей Split_Code и посмотреть, когда каждый человек получает то, что и процент выплат за любой из их расколов. Сложность в том, что я не знаю, как распределить номера продаж, указанные под разделенными кодами, в rep_codes их владельцев в SQL. Я могу сделать это на любом языке сценариев, многократно запрашивая у моих таблиц SQL и некоторый код для ручного суммирования продаж, основанных на% выплат к каждому Rep_code, но могу ли я сделать это в одном запросе SQL? Мои существующие таблицы даже поддерживают это? Я не ожидаю полного ответа, поскольку части этого расплывчаты. Но мне нужна помощь, чтобы выяснить, как я должен подходить к проблеме. Из того, что я могу сказать, мне нужно создавать дополнительные строки для каждого Rep_code каждый раз, когда я сталкиваюсь с идентификатором, присутствующим в моей таблице Split_codes, с расчетным значением дохода на основе информации из Split_codes ?????
Мой ожидаемый вывод будет в формате таблицы продаж. с разделенными кодами, не представленными и разосланными соответствующим людям. и сгруппированы по любому необходимому периоду даты.
ID, sum(Revenue)
200: $260
201: $190
205: $100