У меня есть список, подобный приведенному ниже, из которого я собираюсь собрать сумму в столбце «сумма» для данной компании. Хитрость в том, что я хочу включить членов семьи сотрудников компании. Эти отношения хранятся с помощью идентификатора справа и будут отличаться на 12-й символ (если в рассматриваемой семье только один член, то 12-й символ - это пробел).
У меня вопрос: какой самый эффективный способ получить сумму для всех сотрудников ABC Inc, включая членов семьи. Я полагаю, что для этого потребуется сначала один запрос для всех сотрудников ABC Inc, а затем еще один для членов их семей с использованием результирующего списка из первого запроса.
Это самый эффективный способ сделать это? Моя таблица очень большая (более 10 ГБ плоских данных), и потребуются тысячи таких запросов, поэтому важна эффективность.
Код, который я использую до сих пор для получения данных без членов семьи:
select ID, Name, Company_Name, sum(Amount) from indivs
where Orgname ='APC Inc' --or Employer like '%APC Inc%'
group by ID, Name, Company_Name
Однако это дает мне только суммы от прямых сотрудников.
Каким будет следующий шаг для добавления сумм для членов семьи?