数据库取值a表一个值=b表的某一列的值,怎么样写!请指教

a表中有zcxzqh字段记录的是地区编码,b表记录的是全国的地区名称和编码!现在有个问题,在往a表中插入数据时xzqh字段的值不确定,有可能是省或市或县。b表中字段结构:... a表中有zcxzqh字段记录的是地区编码,b表记录的是全国的地区名称和编码!
现在有个问题,在往a表中插入数据时xzqh字段的值不确定,有可能是省或市或县。
b表中字段结构:省名、省编码、市名、市编码、县名、县编码,现在我要从b表中取出a表xzqh的地区名称,sql语句如下:select distinct a.*,b.shi from jbqk as a,xzqh as b
where (a.zcxzqh=b.shengma or a.zcxzqh=b.shima or a.zcxzqh=b.xianma ) order by a.id desc,假如有一个代码是市的地区编码就会取出市下面所有的县,如何只取出a表zcxzqh对应地区名?
展开
 我来答
SONGYL525
2008-02-22 · TA获得超过640个赞
知道小有建树答主
回答量:599
采纳率:0%
帮助的人:431万
展开全部
首先我要说你的b表表结构不合理,应该是
b(地区编码,地区名称,父编码)
这样多好

不过你要的sql可以为
select a.zcxzqh,c.name
from a,
(select distinct 省编码 as code,省名 as name from b
union all
select distinct 市编码 as code,市名 as name from b
union all
select distinct 县编码 as code,县名 as name from b
)as c
where a.zcxzqh = c.code
WHITE_WIN
2008-02-22 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1926万
展开全部
select a.zcxzqh,地区名称 from a ,(select distinct 地区编码,地区名称 from b) as c where a.zcxzqh=b.地区编码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晗_寒
2008-02-22 · TA获得超过137个赞
知道答主
回答量:77
采纳率:0%
帮助的人:0
展开全部
看了半天也没看明白,是不是原来a表是叫jbqk,而b表叫xzqh?(根据你的SQL语句看出来的)

我理解不对的地方麻烦说明下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式