同一张表里有两个字段关联同一个字典表,该如何查询?

zhu19774279 2010-01-06 03:28:47
比如我的记录表(JLB)这样:
XH YJLX SJLX
1 A B
2 B C
3 C A
字典表(ZDB)
LXDM LX
A 白菜
B 萝卜
C 冬瓜
希望查到的结果是
XH YJLX SJLX
1 白菜 萝卜
2 萝卜 冬瓜
3 冬瓜 白菜

现在我的写法是
select a.XH, b.LX ,(select b.LX from ZDB as b where b.LXDM=a.SJLX) as SJLX
from JLB as a left join ZDB as b on b.LXDM=a.YJLX
这种查询还有更好的写法吗?
...全文
1684 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu19774279 2012-10-24
  • 打赏
  • 举报
回复
a,b,c就是表名的缩写,你写在哪个表的后面就是对谁的缩写,你可以自己试试
dysf403 2012-10-23
  • 打赏
  • 举报
回复 1
请问 1L 这个
select * from jlb a
left join zdb b on a.yjlx=b.lxdm
left join zdb c on a.sjlx=c.lxdm
a b c 分别代表什么? 谢谢 是字段里面的那个值吗?
zhu19774279 2010-01-06
  • 打赏
  • 举报
回复
光顾着结贴了,没看2,3L是同一人,只能让1L吃点亏了
ACMAIN_CHM 2010-01-06
  • 打赏
  • 举报
回复
或者直接

select a.XH, b.LX,c.LX
from jlb a ,zdb b ,zdb c
where a.yjlx=b.lxdm
and a.sjlx=c.lxdm
ACMAIN_CHM 2010-01-06
  • 打赏
  • 举报
回复
select a.XH, b.LX,c.LX 
from jlb a inner join zdb b on a.yjlx=b.lxdm
inner join zdb c on a.sjlx=c.lxdm
wwwwb 2010-01-06
  • 打赏
  • 举报
回复
select * from jlb a
left join zdb b on a.yjlx=b.lxdm
left join zdb c on a.sjlx=c.lxdm

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧