Я пытаюсь найти пример того, как вернуть условную сумму, используя запрос LINQ или LAMBDA.Я написал оба независимо, но объединение CASE с SUM неприятно.Я испытываю желание «обмануть» и использовать представление SQL, но подумал, что я сначала спрошу.Я очень ценю любые предложения.Вот мой SQL, который я хочу преобразовать.
SELECT p.product_name,
SUM(CASE WHEN o.order_dt <= getdate() - 1 THEN o.quantity END) AS volume_1day,
SUM(CASE WHEN o.order_dt <= getdate() - 7 THEN o.quantity END) AS volume_7day,
SUM(CASE WHEN o.order_dt <= getdate() - 30 THEN o.quantity END) AS volume_30day,
SUM(o.quantity) AS volume_all
FROM products p left outer join orders o on p.product_id = o.product_id
GROUP BY p.product_name