CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

问一SQL语句,在线等

楼主lionqun(兔子)2005-01-20 11:00:45 在 MS-SQL Server / 基础类 提问

表1  
  UserName       Score  
  张三               70  
  李四               80  
   
  表2  
  UserName  
  张三               80  
  王五               90  
   
  生成试图  
  Score1           Score2             UserName  
  70                   80                     张三  
  80                   NULL                 李四  
  NULL               90                     王五  
   
  给出思路,或给出SQL语句,由两张表生成一个试图 问题点数:50、回复次数:5Top

1 楼wzh1215(懒猫)回复于 2005-01-20 11:08:37 得分 15

create   view   aa  
  AS  
  select   UserName=(case   when   a.UserName   is   null   then   b.UserName   else   a.UserName   end),Score1=a.Score,Score2=b.Score  
  from   表1   a   full   outer   join   表2   b   on   a.UserName=b.UserNameTop

2 楼xluzhong(Ralph)回复于 2005-01-20 11:15:25 得分 15

create   view   test  
  AS  
  select   UserName=(case    
                                    when   a.UserName   is   null     then   b.UserName    
                                    else   a.UserName   end)  
                ,Score1=a.Score  
                ,Score2=b.Score  
  from   表1   a    
  full   outer   join   表2   b    
  on   a.UserName=b.UserName  
  Top

3 楼lionqun(兔子)回复于 2005-01-20 11:38:58 得分 0

呵呵,多谢大家,其实可以简化一下  
   
  create   view   test  
  AS  
  ISNULL(a.UserName,b.UserName)   AS   UserName  
                ,Score1=a.Score  
                ,Score2=b.Score  
  from   表1   a    
  full   outer   join   表2   b    
  on   a.UserName=b.UserName  
  Top

4 楼daijingjie2002(艰苦创业)回复于 2005-01-20 12:31:46 得分 10

create   view   test  
  AS  
  select   UserName=(case    
                                    when   a.UserName   is   null     then   b.UserName    
                                    else   a.UserName   end)  
                ,Score1=a.Score  
                ,Score2=b.Score  
  from   表1   a    
  full   outer   join   表2   b    
  on   a.UserName=b.UserNameTop

5 楼Qihua_wu(小吴)回复于 2005-01-20 13:51:36 得分 10

create   view   uv_view   as  
  select   *    
  from   (  
  select   UserName   ,   Score as   Score1,0   as   score2  
  from   表1  
  union   all  
  select   UserName   ,   0   as   Score,Score as   score2  
  from   表2)   a  
  group   by   Username  
  Top

相关问题

  • 问SQL语句
  • 问SQL语句?
  • 问SQL语句!
  • 问sql语句
  • sql语句问题。在线等待
  • sql语句问题(在线等待)
  • SQL语句问题,急,在线等待
  • 在线等待问题!SQL语句!
  • SQL语句问题.(在线等待)
  • SQL一个语句问题,在线等

关键词

  • view
  • null
  • username
  • scorefrom
  • score
  • fullouter join
  • case
  • else
  • is null then

得分解答快速导航

  • 帖主:lionqun
  • wzh1215
  • xluzhong
  • daijingjie2002
  • Qihua_wu

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo