我有一张表product
:
product_id
product_name
product_price
如何检索价格范围为的产品名称:
1) 0-500
2) 500 - 1000
3) 1000+
是否可以根据这些条件检索产品名称?
答案 0 :(得分:2)
假设这些是单独的查询,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 :(得分:1)
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;
答案 2 :(得分:0)
我建议先退回所有结果,然后将它们分开。而不是对数据库进行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;