| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1068 人关注过本帖
标题:碰到两个小题,大家帮想下
只看楼主 加入收藏
accpfriend
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:167
专家分:102
注 册:2006-12-31
结帖率:0
收藏
 问题点数:0 回复次数:17 
碰到两个小题,大家帮想下
-------------------------第一题
列1 列2 列3
aa Ha 0
bb GG 0
aa Ha 1
cc Ma 0
bb GG 1
aa Ha a
cc Ma a
bb GG 0
当 列1,列2字段值都相同的情况下,并且列3中在此表中同时存在0,1,a 则抛弃 0 , 1 记录 只留下 a 记录 但当 列3中 只要不是同时存在 0, 1, a 则不作变动 不知道我说明白了吧,我给出我所要的结果吧

列1 列2 列3
bb GG 0
cc Ma 0 ----
bb GG 1
aa Ha a
cc Ma a ----- cc Ma 这条记录因为没有列3同时存在 0 ,1, a 所在没有变动,同样 bb GG 也是一样
bb GG 0

----------------第二题
有表A
ID NAME ScorID Fengxu
1 张三 001 50
2 李四 005 90
3 张三 004 52
4 王二 003 25
5 麻子 002 62
6 李四 001 21
有表B
ID ScName
001 英语
002 数学
003 物理
004 化学
005 理工
想要得到如下记录
name ScName fenXu
张三
英语 50
化学 52
李四
理工 90
英语 21
王二
物理 25
麻子
数学 62

大家帮想下.

[此贴子已经被作者于2007-2-9 14:57:44编辑过]

搜索更多相关主题的帖子: 记录 
2007-02-09 14:42
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 
删除不掉了吧?
修改也修改不成,
在查询分析器里删除吧。。。怎么你的表没加主键
2007-02-09 14:51
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
1. select distinct * into #1 from table1
delete table1 from table1 a join
(select col1,col2,count(*) as cnt from #1 group by col1,col2 having count(*) =3) b
on a.col1 =b.col1 and a.col2=b.col2 and a.col3 <>'a'

2007-02-09 15:35
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
2. select * into #1 from tableA
insert into #1 (name,scorID, fenxu)
select distinct name,'','' from tableA

select name = case when scname = '' then name else '' end,
scname = isnull(scname,''),
fenxu = isnull(fenxu,'')
from #1 a
left join TableB b on a.scorID =b.ID


2007-02-09 15:47
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
1.

delete shiyan1 from shiyan1 s ,(select col1,col2,count(1) as c from shiyan1 where col3='a' group by col1,col2 ) s2 where s.col1=s2.col1 and s.col2=s2.col2 and s.col3='a'

2.
select (case when A.id in (select max(id) from A group by A.name) then name else ''end) as name ,B.ScName,A.fenshu from A inner join B on B.id=A.Scoreid

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-09 16:37
初学Delphi
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:330
专家分:0
注 册:2006-4-4
收藏
得分:0 

第二题 我用游标实现的
结果就是你那个界面的一样


declare 游标 scroll cursor for
select distinct name from biao
open 游标
declare @a varchar(1000)
declare @b varchar(8000)
declare @c int
set @c=0
set @b=''
while @@FETCH_STATUS=0
begin
if @c=(select count(distinct name ) from biao )
break
set @c=@c+1
fetch next from 游标 INTO @a
select @b=@b+' union all select '''+@a+''' as 姓名,'' '' as 科目,'' '' as 分数 '
select @b=@b+' union all select '' '' as 姓名,biao1.kemu,biao.fenshu from biao,biao1 where name='''+@a+''' and biao.kemu=biao1.id'
end
set @b=right(@b,len(@b)-10)
exec (@b)
close 游标
deallocate 游标

没想到什么好方法,一会看看斑竹的

2007-02-09 16:51
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
我的结果记录都在,但是排版和他的不一样

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-09 16:54
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
收藏
得分:0 
我写出来自己没测就贴了

2007-02-09 17:07
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 

得规定一下得把建表的代码给出来,我建表的时间比写的时间还多


26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-09 17:26
accpfriend
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:167
专家分:102
注 册:2006-12-31
收藏
得分:0 
测试下,下周再说
2007-02-09 17:35
快速回复:碰到两个小题,大家帮想下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023041 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved