表结构:id(自增列),city,vnews,dTime 表数据:1 wf ,求到北京方向的货,2010-12-10
2 wf ,求到南京方向的货,2010-12-10
3 wf ,求到乌鲁木齐方向的货,2010-12-10
4 wf ,求到齐齐哈尔方向的货,2010-12-10
5 wf ,求到北京方向的货,2010-12-10
6 wf ,求到潍坊方向的货,2010-12-10
7 wf ,求到青州木齐方向的货,2010-12-10
8 wf ,求到临朐哈尔方向的货,2010-12-10
9 wf ,求到青州木齐方向的货,2010-12-10
10 wf ,求到临朐方向的货,2010-12-10查询语句:select * from table where charindex('潍坊',vnews)!=0 查询结果:6,7,8,9,10,也就说青州,临朐是潍坊下面的县市区,以此类推,插叙其他省市时,也要把对应的它下面包括县市区的关键字的数据查询出来! 其中市是变量,可以传递任意值,,根据市查询下面的包含县市区关键字的数据! 注:中国的所有省市县都已存放在一个表中!
并且,city字段作为外键指向省市表的话,
楼主的SQL是2005,可以用with as递归查询如果city不是外键的话,用charindex,like之类的函数,效率都是比较低的,
数据量大时,可以做分面显示,建立索引也是必须的。