急需SQL查询语句

来源:百度知道 编辑:UC知道 时间:2024/05/02 21:13:36
有三个组全查询选项(:
A:价格(pri):
0-100
100-200
200-300
B:规格(type):
1-10
10-20
20-30
C:地址(addr)(可多选):
北京
上海
香港
桂林

高手帮忙如何用SQL现实这三个组合查询??谢谢
这是一个关于旅游线路的记录。。
表名:article
数据项有:
title(线路标题,如 6days beijing-shanghai-hongkong-guiling)
dolar(价格费用,如 3000)
length(行程天数,如 4)

现在要做一个搜索,搜索选项:
天数:
1-4
5-9
10-14 (单选,一个范围)
费用:
500以下
500-1000
1000-2000
2000-3000
4000以上(单选,一个范围)
城市:
guilin shanghai beijing (客人想去的城市,可多选)

如搜索,价格在2000-3000,天数在9-14,成市含有guilin,shanghai
下面这个项就符合:
title length dolar
9days beijing-shanghai-hongkong-guilin 12 2500

如何实现??
谢谢!

sql=" select id ,title where ............."

select * from article where (......) and (dolar between @minPri and @maxPri) and (length between @minType and @maxType)

问题的重点在于如何确定地址,就是“......”这个地方。建议你在客户端程序里,根据客人选择的城市来生成查询条件,比如客人选择了北京和桂林,条件就是:(title like '%beijing%') and (title like '%guilin%'),那么上面的查询就是:
select * from article where ((title like '%beijing%') and (title like '%guilin%')) and (dolar between @minPri and @maxPri) and (length between @minType and @maxType)

select * from article
where length>=变量1 and length<=变量2 and dolar >=变量3 and dolar<=变量4 and PATINDEX('%变量5%',title)<>0

变量1变量2根据所选天数范围得出
变量3变量4根据所选费用范围得出
变量5根据所选城市得出

sql=" select id ,title where length>=变量1 and length<=变量2 and dolar >=变量3 and dolar<=变量4 and ";
用循环把 PATINDEX('%变量5%',title)<>0 and 加上

select pri,type,addr from 表名 where 加查询条件

你把表结构,和要取出什么样的结果写清楚呀

select pri,type,addr from 表 w