请教编码问题 我很急!叩谢了!(54分)

  • 主题发起人 主题发起人 TIANXU
  • 开始时间 开始时间
T

TIANXU

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到这样的问题:
假设 江苏苏州 江苏苏州昆山 江苏苏州常熟 江苏苏州太沧
江苏无锡 江苏无锡江阴 江苏无锡宜兴
江苏镇江 江苏镇江句容 江苏镇江AA
我该如何编码 作为苏州 我能看到它所管辖城市的内容
作为无锡 我能看到它所管辖城市的内容
......
作为江苏,我由能看到苏州、无锡、镇江的内容?

都用一个软件,使用同样的数据库,编码是一个表
--------------------------------------------------------------
设这样的编码:00 00 00 它的含义是省+地极市+县级市
0101 代表 江苏苏州
假设:010101 代表 江苏苏州昆山
010102 代表 江苏苏州常熟
0102 代表 江苏无锡
010201 代表 江苏无锡江阴
数据上传时候也把编码上传
我把江苏苏州昆山 所有的相关都编 010101
江苏苏州常熟 所有的相关都编 010102
江苏无锡江阴 所有的相关都编 010201
那么我作为昆山按010101这个编码可以查 所有相关的昆山内容
没有问题
可是做为苏州或无锡来查 我却没办法查苏州或无锡相关的内容了。
苏州是0101 无锡是0102
可能这样的编码有问题。我该如何编码呢?
没分了。如果需要的话。我可以在CSDN给你加分
 
建议分不同长度存储,如:
01:江苏
0101:江苏苏州
010101:江苏苏州昆山
010102:江苏苏州常熟
0102:江苏无锡
010201:江苏无锡江阴
这样比较便于操作。
 
查询所以苏州管辖的县级市:
select * from table where left(code,4) = '0101'
 
同意楼上的,因为你上传编码时,只上传到苏州是0101 无锡是0102
当你查寻时,只能看到一个苏州或是无锡,不会包含其它数据
 
我在苏州操作,那么它的编码是0101。可是在昆山操作它的编码是010101。作为江苏,它
又是01 了
我该如何用查询呢?
 
江苏
select * from table where Left(code,2) = '01' and Len(code) = 2
 
如果库里有昆山010101,常熟010102 我要做判断?
IF CODE=‘昆山’ then
ID=0101
IF CODE=‘常熟’then
ID=0102
再 SELECT ?
我的意思是一个库里有不同城市,不同省份的编码表,我该如何查询它所对应的内容?
 
这下不明白你的意思了:)
举个实际的例子看看。
 
查询语句为:
select 编码 like 已知编码+'%' from 地区表
like是包含命令可以用通配符百分号%(任意字符)和下划线_(任意单个字符)
 
是啊,可以利用通配符比较灵活的控制编码的选择条件。
 
举个例子:
做为江苏苏州昆山,它的编码是010101我 输入了若干相关信息,提交到数据库里,
编码也提交了。
作为江苏苏州常熟,它的编码是 010102 我输入了若干相关信息,提交到数据库里,
编码也提交了。
作为江苏苏州 它的编码是0101 我 输入了若干相关信息,提交到数据库里,编码也
提交了。
作为江苏无锡 它的编码是0101 我 输入了若干相关信息,提交到数据库里,编码也
提交了。

现在有四个地方在做查询 江苏苏州,江苏苏州昆山,江苏苏州常熟,江苏无锡江阴
那么现在我如果是江苏苏州昆山或者是江苏苏州常熟 我能做到查询只和自己相关的
东西 编码是不 一样的
可是作为苏州,我怎么查询 昆山和常熟的东西呢? 编码不一样。
作为无锡,我怎么查询 是无锡下属单位的东西呢

 
查苏州
select * from table where code = '0101'
查江苏苏州昆山
select * from table where code ='010101'
查江苏苏州常熟
select * from table where code ='010102'
查苏州下所有的(包括苏州)
select * from table where code = '0101%' or code = '0101'
查苏州下所有的(不包括苏州,即只有昆山和常熟)
select * from table where code = '0101%'

 
分3个字段好了
 
十分感谢各位给了我思路!如分不够请通知我,我在CSDN上加分
 
后退
顶部