求一SQL语句(二表)

hzybc 2008-11-28 04:28:09
有一表(部门) 另一表(员工)

id BmMc Hid id xm BmId
12 A 0 101 张三 18
..... ......
18 B 12

A是B的上一级部门

想要根据xm='张三,来求得BmMc=A

即要得到如下结果

xm BmMc
张三 A
...全文
93 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qap22 2008-11-28
  • 打赏
  • 举报
回复
不懂,帮顶
shyboy8 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dawugui 的回复:]
引用楼主 hzybc 的帖子:
有一表(部门) 另一表(员工)

id BmMc Hid id xm BmId
12 A 0 101 张三 18
..... ......
18 B 12

A是B的上一级部门

想要根据xm='张三,来求得BmMc=A

即要得到如下结果

xm BmMc
张三 A

[/Quote]
note: inline subquery!!
give me a chince ?
dawugui 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 hzybc 的帖子:]
有一表(部门) 另一表(员工)

id BmMc Hid id xm BmId
12 A 0 101 张三 18
..... ......
18 B 12

A是B的上一级部门

想要根据xm='张三,来求得BmMc=A

即要得到如下结果

xm BmMc
张三 A
[/Quote]
create table 部门(id int, BmMc varchar(10) , Hid int)
insert into 部门 values(12 , 'A' , 0 )
insert into 部门 values(18 , 'B' , 12 )
create table 员工(id int, xm varchar(10) , BmId int)
insert into 员工 values(101, '张三' , 18 )
go

select m.xm , o.bmmc from 员工 m , 部门 n , 部门 o where m.xm = '张三' and m.bmId = n.id and n.hid = o.id


drop table 部门,员工

/*
xm bmmc
---------- ----------
张三 A

(所影响的行数为 1 行)
*/
dawugui 2008-11-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 hzybc 的帖子:]
有一表(部门) 另一表(员工)

id BmMc Hid id xm BmId
12 A 0 101 张三 18
..... ......
18 B 12

A是B的上一级部门

想要根据xm='张三,来求得BmMc=A

即要得到如下结果

xm BmMc
张三 A
[/Quote]
select t1.xm , t2.bmmc from
(
select m.xm , n.hid from 员工 m , 部门 n where m.BmId = n.bid
) t1 , 部门 t2
where t1.bid = t2.id
ws_hgo 2008-11-28
  • 打赏
  • 举报
回复
select B.BmMc,A.xm from '部门' join '员工' A on A.BmId=B.id where A.Xm='张三'
arrow_gx 2008-11-28
  • 打赏
  • 举报
回复
select a.xm,b.BmMc from 员工 a 
join 部门 b on a.Bmid=b.id
join 部门表 c on c.id=b.Hid
ljhcy99 2008-11-28
  • 打赏
  • 举报
回复
没说清楚表的关系
xywangpj 2008-11-28
  • 打赏
  • 举报
回复
不明白什么意思,你是不是要找出张三的BmMc呀

select b.xm,a.bmmc
from a,b
where a.id=b.id
and b.xm = '张三'
arrow_gx 2008-11-28
  • 打赏
  • 举报
回复
select a.xm,b.BmMc from 员工 a left join 部门 b on a.Bmid=b.Hid
等不到来世 2008-11-28
  • 打赏
  • 举报
回复
select a.xm,c.BmMc
from 员工表 a
join 部门表 b on a.BmId=b.id
join 部门表 c on c.id=b.Hid
where a.xm=N'张三'

34,590

社区成员

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

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