应该有两个表:
1、省份表
字段名 类型 长度 备注
Pid int4 自增变量,主键,省份id
PName char20省份名称
2、城市表字段名 类型 长度 备注
Cid int4 自增变量,主键
CName char20城市名称
Pid int4 城市所属的省份id
对于前面的那些数据,应该是这样的:
1、省份表(ProvinceTable)
Pid PName
1广东省
2湖南省
(更多的,再添加)
2、城市表(CityTable)
Cid CName Pid
1广州市 1
2深圳市 1
3长沙市 2
4岳阳市 2
这样的表结构才有可能实现你要的效果。
把省份表中的名称和id放到选择省份列表中,这样:
<select name="Province" onclick="">
<option value="1">广东省</option>
<option value="2">湖南省</option>
</select>
然后在onclick事件中提交表单,或者使用Ajax技术向服务器中发送选择的省份id。
这时候,得到省份所有城市列表的sql语句为(假设我们选择广东省):
select * from citytable where pid=1
欢迎访问我的论坛:
http://www.chinesebloger.com
期待您的支持:) 9471希望对你有帮助!
改成这样看是不是你想要的结果select
a.AreaName as '区域',
a.SystemName as '系统',
a.Province as '省份',
a.CityName as '城市',
a.BigAreaRealName as '大区经理',
a.AreaRealName as '区域经理',
a.BRealName as '业务员',
a.storename as '门店名称',
a.RealName as '促销员姓名',
a.empno as '促销员员工编号',
a.JobType as '职位',
a.Mob as '手机',
a.UserName as '登陆账号',
a.Orginal as '密码' ,
b.addtime as '登录时间'
from VPromoterList a,M_LoginLog b
where a.username = b.username and b.addtime = (select max(addtime) from M_LoginLog c where b.username = c.username) and QuitTime is null
按照你的要求,城市id查询不到结果的时候,再用省份id查询数据。这种需求,就不是用sql技巧可以减少工作量的了。先用城市id查数据,判断返回结果没有数据,再用省份id查数据。
你可以用后台java代码判断返回的rs是不是有记录,没有就换省份id再重新查。
或者写一个数据库的函数,再函数中先用城市id查,没有结果再换省份id查。
建议不用数据库方式,系统中,用数据库尽量只用来查询,有逻辑关系的运算尽量交给后台代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)