帮我写个sql语句,很简单的

帮我写个sql语句,很简单的,第1张

我来回答,这个表是谁给你建的?你应该揍他一顿。如果是你自己建的,面壁去吧。

应该有两个表:

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查。

建议不用数据库方式,系统中,用数据库尽量只用来查询,有逻辑关系的运算尽量交给后台代码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11674356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存