Получить имена зависит от ценовых условий - PullRequest
0 голосов
/ 24 августа 2011

У меня есть таблица product:

product_id 
product_name
product_price

Как я могу получить название продукта с ценовым диапазоном:

1) 0-500
2) 500 - 1000
3) 1000+

Можно ли получить название продукта в соответствии с этими условиями?

Ответы [ 3 ]

2 голосов
/ 24 августа 2011

Предполагая, что это отдельные запросы, и price никогда не бывает отрицательным:

var products1 = products.where(p=> p.product_price < 500);
var products2 = products.where(p=> p.product_price >=500 && p.product_price < 1000);
var products3 = products.where(p=> p.product_price >=1000);

Я включая нижнее значение, но исключая верхнее значение.

1 голос
/ 24 августа 2011
var range1 = from p in products
        where p.product_price > 0 && product_price < 500
        select p;

var range2 = from p in products
        where p.product_price >= 500 && product_price < 1000
        select p;

var range3 = from p in products
        where p.product_price >= 1000
        select p;
0 голосов
/ 24 августа 2011

Я бы предложил сначала вернуть все результаты, а затем разделить их. Вместо того, чтобы делать 3 отдельных запроса к базе данных.

var prods =  (from p in products
             select p).ToList();

var range1 = from p in prods
             where p.product_price > 0 && p.product_price < 500
             select p;

var range2 = from p in prods
             where p.product_price >= 500 && p.product_price < 1000
             select p;

var range3 = from p in prods
             where p.product_price >= 1000
             select p;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...