请教sql语句

仙侣步惊云 2014-04-28 12:04:06
tbMain:
xm xh gzdw
张三 A011 市招商局
李四 A012 市招商局
王五 A002 市教育局
张小兵 B019 市教育局
tbKh:
xh khnd khdc
A011 2012 优秀
A012 2012 合格
A011 2013 优秀
A012 2013 NULL
A002 2013 合格
B019 2013 优秀
要查询这种结果:
xm xh gzdw khnd khdc
张三 A011 市招商局 2013 合格
李四 A012 市招商局 2013 NUL
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
仙侣步惊云 2014-04-28
  • 打赏
  • 举报
回复
版主威武!测试通过
唐诗三百首 2014-04-28
  • 打赏
  • 举报
回复

create table tbMain
(xm varchar(10),xh varchar(10),gzdw varchar(10))

insert into tbMain
 select '张三','A001','市招商局' union all
 select '李四','A002','市招商局' union all
 select '王五','B001','市教育局' union all
 select '张兵','B002','市教育局'

create table tbKh
(xh varchar(10),khnd varchar(10),khdc varchar(10))

insert into tbKh
 select 'A001','2012','优秀' union all
 select 'A002','2012','合格' union all
 select 'A001','2013','优秀' union all
 select 'B001','2012','优秀' union all
 select 'B002','2012','合格' union all
 select 'B001','2013','优秀' union all
 select 'B002','2013','合格'


select a.xm,a.xh,a.gzdw,b.khnd,b.khdc
from tbMain a
left join tbKh b on a.xh=b.xh and khnd='2013'
where a.gzdw='市招商局'

/*
xm         xh         gzdw       khnd       khdc
---------- ---------- ---------- ---------- ----------
张三         A001       市招商局       2013       优秀
李四         A002       市招商局       NULL       NULL

(2 row(s) affected)
*/
流浪川 2014-04-28
  • 打赏
  • 举报
回复
引用 楼主 sxqwhxq 的回复:
tbMain: xm xh gzdw 张三 A011 市招商局 李四 A012 市招商局 王五 A002 市教育局 张小兵 B019 市教育局 tbKh: xh khnd khdc A011 2012 优秀 A012 2012 合格 A011 2013 优秀 A012 2013 NULL A002 2013 合格 B019 2013 优秀 要查询这种结果: xm xh gzdw khnd khdc 张三 A011 市招商局 2013 合格 李四 A012 市招商局 2013 NUL
SELECT TBMAIN.XM, TBMAIN.XH, TBMAIN.GZDW, TBKH.KHND, NVL(TBKH.KHDC, 'NUL')
  FROM TBMAIN, TBKH
 WHERE TBMAIN.XH = TBKH.XH(+)
别闹腰不好 2014-04-28
  • 打赏
  • 举报
回复
select a.xm, a.xh,a.gzdw,b.khnd,if(b.khdc =null, 'NULL',b.khdc) AS khdc from tbMain a,tbKh b where a.xh=b.xh
流浪川 2014-04-28
  • 打赏
  • 举报
回复
引用 2 楼 sxqwhxq 的回复:
没有,这样会舍弃空值
你描述有点不清楚,没太明白你的逻辑。。
仙侣步惊云 2014-04-28
  • 打赏
  • 举报
回复
没有,这样会舍弃空值
别闹腰不好 2014-04-28
  • 打赏
  • 举报
回复
select a.xm, a.xh,a.gzdw,b.khnd,b.khdc from tbMain a,tbKh b where a.xh=b.xh

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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