一个查询关联问题,不知道可不可以写出来。

hzh_wen_x 2006-06-21 12:10:04
表A是编码表
code name
0001 体系
0002 部门
0003 科室

表B是人员表
姓名 体系 部门 科室
张三 0001 0002 0003

可不可以查询出来结果为:
姓名 体系 部门 科室
张三 体系 部门 科室
...全文
205 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangpei2008 2006-06-21
  • 打赏
  • 举报
回复
学习:)
LouisXIV 2006-06-21
  • 打赏
  • 举报
回复
:)

子查询更灵活点
liangpei2008 2006-06-21
  • 打赏
  • 举报
回复
楼上好快!
liangpei2008 2006-06-21
  • 打赏
  • 举报
回复
--这样?
declare @t table(code varchar(10),name varchar(10))
insert @t select '0001','体系'
union all select '0002','部门'
union all select '0003','科室'
declare @t1 table(姓名 varchar(10),体系 varchar(10),部门 varchar(10),科室 varchar(10))
insert @t1 select '张三','0001','0002','0003'


select A.姓名,B.name,c.name,d.name
from @t1 A inner join @t B on A.体系=B.code
inner join @t C on A.部门=C.code
inner join @t d on A.科室=d.code
LouisXIV 2006-06-21
  • 打赏
  • 举报
回复
declare @a table
(
code varchar(4),
name varchar(4)
)
insert into @a
select '0001','体系' union all
select '0002','部门' union all
select '0003','科室'

declare @b table
(
姓名 varchar(4),
体系 varchar(4),
部门 varchar(4),
科室 varchar(4)
)
insert into @b
select '张三','0001','0002','0003'

select
姓名,
(select name from @a where code=a.体系) as 体系,
(select name from @a where code=a.部门) as 部门,
(select name from @a where code=a.科室) as 科室
from @b a

/*
姓名 体系 部门 科室
---- ---- ---- ----
张三 体系 部门 科室
*/

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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