2012-01-02 72 views
0

我想给的价格范围内,从该查询结果给我一个正确的查询我想给的价格范围内,从该查询结果给我一个正确的查询

SELECT id,tableid,category,price,actualprice,image,title,website,description 
FROM tt_1 
where 
     title like 'Home Appliances%' or 
     image like 'Home Appliances%' or 
     category like 'Home Appliances%' or 
     site_master_url like 'Home Appliances%' or 
     website like 'Home Appliances%' 
+0

你尝试过这么远吗?提示:使用AND和一些括号来确保正确的运算符优先级(SQL使用与大多数语言相同的规则) – gbn 2012-01-02 08:30:27

+2

问题不明确。请尽量给我们一个更好的解释。谢谢。 – DonCallisto 2012-01-02 08:30:37

回答

1

我会让你有没有相同的逻辑(我认为你应该使用AND而不是OR,如果你正在过滤数据,但你会更好地知道你需要什么)这将取价格在100-1000之间:

SELECT id,tableid,category,price,actualprice,image,title,website,description FROM tt_1 where title like 'Home Appliances%' or image like 'Home Appliances%' or category like 'Home Appliances%' or site_master_url like 'Home Appliances%' or website like 'Home Appliances%' or (price > 100 AND price < 1000) 
+0

运算符优先级怎么样?这会给出不正确的结果 – gbn 2012-01-02 08:39:33

+0

他正在使用OR而不是AND,我只是遵循了他的逻辑(这不是问题的一部分) PS:我编辑了一个AND并将其设置为或(再次遵循他的逻辑) – redmoon7777 2012-01-02 10:31:53

+0

这将会只检查“家电%”等原始网站的价格范围。搜索互联网“运算符优先级”为Java,MySQL,.net,不管什么,看看它是什么意思... – gbn 2012-01-02 10:44:08

2

问题还不清楚。
我相信这是你want.To在MySQL中使用指定范围介于

SELECT * FROM table WHERE price BETWEEN lower AND upper; 
0

问题不会被清零。我想你想连接这个查询的价格范围。请尝试一下并让我知道。如果您的价格是一个整数,那么从数字中删除报价。

SELECT id,tableid,category,price,actualprice,image,title,website,description 
FROM tt_1 
where 
     title like 'Home Appliances%' or 
     image like 'Home Appliances%' or 
     category like 'Home Appliances%' or 
     site_master_url like 'Home Appliances%' or 
     website like 'Home Appliances%' AND 
     price between 'STARTING_RANGE' AND 'ENDING_RANGE' 
+0

运算符优先级怎么样?这会给出不正确的结果 – gbn 2012-01-02 08:41:01

+0

你能描述更多你的问题吗?问题不是每个人都明确 – 2012-01-02 08:50:43

+0

你尝试过吗?我认为AND运营商会运作良好,因为每个结果都会检查是否在这个价格范围之间。 – 2012-01-02 08:52:03

1

其他答案中没有人知道operator precedence

SELECT id,tableid,category,price,actualprice,image,title,website,description 
FROM tt_1 
where 
    (
     title like 'Home Appliances%' or 
     image like 'Home Appliances%' or 
     category like 'Home Appliances%' or 
     site_master_url like 'Home Appliances%' or 
     website like 'Home Appliances%' 
    ) 
    AND 
    price BETWEEN @LowerBound AND @UpperBound; 

最后一行可能是这也太(括号内为清楚起见):

AND 
    (price >= @LowerBound AND price <= @UpperBound) 
+0

select * from(selet * from product_name like'%lux'..)')其中价格>'1000'...我需要这个子查询人 – 2012-01-02 09:06:40

+0

@Vinoth Kumar:你不需要*子查询?你为什么认为你需要一个? – gbn 2012-01-02 09:11:48

相关问题