百分好题怎么实现这条语句?稍微复杂。。

civb 2003-10-16 12:24:22
表1 department (id,name,belongid,managerid)
表2 worker (id,name)

department
id name belongid managerid
1 "a" 0(表示顶级部门) 01
2 "b" 1 02
3 "c" 1(表示属于部门1的下属) 03

worker
id name
01 "name1"
02 "name2"
03 "name3"

怎么实现
id name belongid managerid id name belongsName(一个字段)
1 "a" 0 01 01 "name1" NULL
2 "b" 1 02 02 "name2" "a"
3 "c" 1 03 03 "name3" "a"


谢谢,感觉到实现两个表结合容易,用inner join,可是加了
一个后面的。。不知道怎么下手呢,谢谢
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
civb 2003-10-16
  • 打赏
  • 举报
回复
belongsName只是随便一个字段表示名字 ,也可以是name.
实际上就是deparment的name字段,而不是新的一个表的字断。所以
觉得难。
shaken 2003-10-16
  • 打赏
  • 举报
回复
belongsName 是另外一个表还是计算字段,还是其他的??
另外一个表的话,继续连接可以。计算字段直接select *,计算字段表达式 from ……
civb 2003-10-16
  • 打赏
  • 举报
回复
谢谢,太长了
,晕晕。。
后来我干脆在表中加了一个字断。
saucer 2003-10-16
  • 打赏
  • 举报
回复
try

select d.id, d.name as deptname, d.belongid, d.managerid, w.id as workerid, w.name as workername, d2.name as belongname
from department d
inner join worker w on w.id = d.managerid
left outer join department d2 on d.belongid = d2.id

34,575

社区成员

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

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