SQL задачка
- Описание таблиц:
- Products (Id PK, Name)
- Sales (Productid PK, Date (date) PK, Quantity)
- Задача:
- Для каждого продукта вывести ProductId и Date, когда его продажи были максимальными.
C# задачка (Livecoding)
-
Описание классов:
class Product { /// <summary> Id товара </summary> int Id; /// <summary> Внешний Id товара </summary> string ExternalId; /// <summary> Название товара </summary> string Name; } class Location { /// <summary> Id склада </summary> int Id; /// <summary> Внешний Id склада </summary> string ExternalId; /// <summary> Название склада </summary> string Name; } class Sale { /// <summary> Id товара </summary> int ProductId; /// <summary> Id склада </summary> int LocationId; /// <summary> Дата продажи </summary> DateTime Date; /// <summary> Количество продажи, шт. </summary> double Quantity; public virtual Product Product; public virtual Location Location; } class Stock { /// <summary> Id товара </summary> int ProductId; /// <summary> Id склада </summary> int LocationId; /// <summary> Дата остатка </summary> DateTime Date; /// <summary> Количество остатка, шт. </summary> double Quantity; public virtual Product Product; public virtual Location Location; } -
Описание методов:
/// <param name="productId"> Id товара </param> /// <param name="sales"> Продажи </param> /// <param name="stocks"> Остатки </param> void Math(int productId, IEnumerable<Sale> sales, IEnumerable<Stock> stocks); /// <summary> Запрос Id заданий на расчет </summary> int[] GetTaskIds() { return new int[5000]; } - Контекст:
// Получили коллекцию Id товар для расчета (таски). var dbContext = new DbContext(); var productIds = GetTaskIds(); - Задача:
- Написать цикл по productIds с вызовом метода Math.
Вложения


