У меня есть таблица данных о продажах, которая состоит из отдельных продаж товаров, несколько строк составляют единый счет (BillID) в системе. Данные выглядят так:Linq grouping на основе требований
CompanyID | StoreID | BillItemID | Биллид | DateKey | Описание | куча других столбцов для проданной суммы и налогов и т. д.
Все, что имеет значение, это действительно Биллид, мне нужно найти счета, которые содержат оба элемента, которые включены в оператор linq where where.
Вот мое текущее заявление LINQ
FactSales
.Where(c => c.CompanyID == 433)
.Where(c => c.StoreID == 360)
.Where(c => c.Description == "2 Piece Combo" || c.Description=="3 Piece Combo")
.GroupBy(m => new { m.BillID })
Это выбирает все продажи, которые были 2 или 3 шт комбо. Но группа не предоставляет необходимую мне информацию, потому что бывают случаи, когда люди покупают несколько единиц одного и того же элемента, чтобы эти Биллид не отражали счета, в которых продавались оба предмета.
Возможно ли это с помощью linq?
Ваш вопрос немного неясно; можете ли вы предоставить образец данных и выход? – BradleyDotNET
Уникальные номера BillID? Или дублируется в разных магазинах? Если это уникально, то почему вы фильтруете идентификаторы CompanyID и Store ID. Особенно в тех случаях, когда некоторые компании могут иметь несколько номеров CompanyID, но совместно используют отделы биллинга. – jdweng
BillIDs не уникальны, они требуют, чтобы хранилище и companyid, чтобы идти с ними, были уникальными, но в случае этого запроса идентификатор billID уникален, потому что установлены два других фактора – Nate58