荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: [合集]一道不错的题目^_^
发信站: 荔园晨风BBS站 (2005年04月19日13:07:28 星期二), 站内信件
☆ 1 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: 一道不错的题目^_^
时 间: 2005年04月16日14:09:12 星期六
给定以下两个表:
部门ID 部门名称
1 部门1
2 部门2
3 部门3
4 部门4
人员ID 人员姓名 部门ID
1 姓名1 1
2 姓名2 1
3 姓名3 2
4 姓名4 3
5 姓名5 5
6 姓名6 6
用一条SQL语句显示所有人员的姓名及所在部门,没有部门的用“未标志”代替。
☆ 2 ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日16:49:27 星期六
假设两表是同一个数据库中的两个表
在第二个表中 输入SQL语句:
select table2.人员名称 , table1.部门名称
from table2 left join table1
on table2.部门ID = table1.部门ID
就ok了
☆ 3 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日16:56:11 星期六
??
看清楚题目没?
查出的结果是
人员姓名 部门名称
姓名1 部门1
2 1
3 2
4 3
5 未标志
6 未标志
这样才对啊
☆ 4 ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:14:07 星期六
哦,还要那个“未标志”阿, 加个条件判断就不就行了
如果table2.部门ID为空或者不再table1部门ID索引中,就table1.部门名称为
‘未标志’咯
☆ 5 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:17:20 星期六
怎搞?
查出的结果为以上的样子就对了
☆ 6 ──────────── 我是分割线 ─────────────────☆
发信人: Pencil (红宝书就是我的圣经), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:20:37 星期六
设置一个部门名称就叫作“未设置”,把所有没有部门的人都归到“未设置”部门去不就
可以了。
☆ 7 ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:30:07 星期六
你按我写的在SQL企业管理器中试验一下就不就行了,然后加个判断咯
☆ 8 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:41:44 星期六
晕,人家的题目是叫你从那2个表中查询,你怎么可以自作主张修改表的内容呢?
☆ 9 ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:43:46 星期六
你那两张表如果是放在一个数据库里面的话,
你就试试我上面写的,我也做过类似的,应该不会错,弱国
有问题,你就查一下语法
☆ 10 ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:46:42 星期六
好把 我去查查语法,我宿舍这部机没有装SQL
☆ 11 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日17:47:29 星期六
贴出完整代码最实际,结果要如以上的样子
不能修改原表的内容,字段,不能创建临时表
☆ 12 ──────────── 我是分割线 ─────────────────☆
发信人: tiny (tiny), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日19:03:23 星期六
SELECT Name AS username, deparmentname = CASE WHEN
(SELECT COUNT(*)
FROM department
WHERE t1.departmentid = departmentid) <> 0 THEN
(SELECT departmentname
FROM department
WHERE t1.departmentid = departmentid) ELSE '未标志' END
FROM [User] t1
☆ 13 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日20:12:47 星期六
对,就是这样啦^_^很多高手啊
☆ 14 ──────────── 我是分割线 ─────────────────☆
发信人: cococat (cococat), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日20:21:56 星期六
这种方法还是不错的,斑竹很热心,支持~~
☆ 15 ──────────── 我是分割线 ─────────────────☆
发信人: tiny (tiny), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日20:56:53 星期六
这个表关联只能查到两个表都存在的数据
但是对于人员表中不存在的部门无法查到
☆ 16 ──────────── 我是分割线 ─────────────────☆
寄信人: jsx (孤心累……觉)
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月16日20:58:32 星期六
来 源: 192.168.110.241
恩,没错,这个方法只能查到给出部门ID
☆ 17 ──────────── 我是分割线 ─────────────────☆
发信人: Kenniel (对酒当歌,人生几何!可惜我吾识饮酒), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月17日11:05:18 星期天
大老
☆ 18 ──────────── 我是分割线 ─────────────────☆
发信人: tiny (tiny), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月17日11:06:55 星期天
ri
kaka
☆ 19 ──────────── 我是分割线 ─────────────────☆
发信人: Kenniel (对酒当歌,人生几何!可惜我吾识饮酒), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月17日11:20:39 星期天
反ri
什么时候回来探大伙
☆ 20 ──────────── 我是分割线 ─────────────────☆
发信人: tiny (tiny), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月17日11:45:23 星期天
不知道哦,这阵子比较忙
我想回去打球。。。。
☆ 21 ──────────── 我是分割线 ─────────────────☆
发信人: jsx (孤心累……觉), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月17日13:04:13 星期天
好啊,你连球都不用带了,用我的
☆ 22 ──────────── 我是分割线 ─────────────────☆
发信人: xiaoming (xiaoming), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月17日22:39:57 星期天
SELECT 人员姓名,ISNULL(部门名称,未标志)
FROM 人员 INNER JOIN 部门 ON 人员.部门ID = 部门.部门ID
大家只要知道isnull函数的用法就很简单的一个问题
☆ 23 ──────────── 我是分割线 ─────────────────☆
发信人: tiny (tiny), 信区: DotNET
标 题: Re: 一道不错的题目^_^
时 间: 2005年04月18日10:27:17 星期一
select 不出来null的记录
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店