CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

大家能否看看这个SQL有可能实现吗?

楼主jerry_huang(峥嵘)2003-12-03 20:50:48 在 MS-SQL Server / 基础类 提问

源表A:  
  Name Position  
  Jerry IT  
  Tom IT  
  Jack IT  
  Sherry HR  
  Diana HR  
  Echo HR  
   
  源表B:  
  Position Budget  
  IT 4  
  HR 2  
   
  连接后的表C:  
  Name Position Budget  
  Jerry IT 4  
  Tom IT 0  
  Jack IT 0  
  Sherry HR 2  
  Diana HR 0  
  Echo HR 0  
   
  也就是说连接两个表以后,我只想第一条记录取到另一个表的值,也就是说只有第一条IT记录取得Budget=4,而其它都取0,HR也是一样,第一条取得2,其余取0,SQL能这样实现吗?  
   
  我只有十几分了,只能给这么多了,不好意思! 问题点数:5、回复次数:4Top

1 楼a_stupid_boy()回复于 2003-12-03 21:00:17 得分 0

好怪的需求啊,搞不明白Top

2 楼playyuer(退休干部 卧鼠藏虫)回复于 2003-12-03 21:19:46 得分 5

select   *  
  ,(select   sum(Budget)    
          from   b    
        where   Position   =   a.Position  
                    and   a.Name   =   (select   max(name)   from   a   c   where   Position   =   a.Position)  
      )  
  from   ATop

3 楼zarge(鲨去来兮)回复于 2003-12-03 21:23:00 得分 0

select   A.name,   A.position,   case   when   A.name   =   (select   top   1   name   from   A   where   position   =   B.position)   then   B.budget   else   0   end   from   A   inner   join   B   on   A.position   =   B.positionTop

4 楼playyuer(退休干部 卧鼠藏虫)回复于 2003-12-03 21:39:04 得分 0

select   *  
  ,isnull((select   sum(Budget)    
          from   b    
        where   Position   =   a.Position  
                    and   a.Name   =   (select   top   1   name    
                                                    from   a   c    
                                                    where   Position   =   a.Position    
                                              order   by   name),0)  
      )  
  from   A  
   
   
  select   *  
  ,isnull((select   sum(Budget)    
          from   b    
        where   Position   =   a.Position  
                    and   a.Name   =   (select   max(name)   from   a   c   where   Position   =   a.Position)  
      ),0)  
  from   A  
  Top

相关问题

  • 帮忙看看这个需求能否用sql语句来实现?
  • 不知能否用SQL语句实现?
  • 能否用一个SQL语句实现?
  • 这个asp语句能否实现?
  • php能否实现这个功能?
  • 怎么实现这个SQL?
  • 在Oracle中,能否实现SQL中的FreeText功能
  • SQL语句能否实现以下功能?
  • SQL语句能否实现以下功能?
  • 这样的查询能否用一条sql语句实现?

关键词

  • position
  • budget
  • 表
  • sum
  • where
  • select

得分解答快速导航

  • 帖主:jerry_huang
  • playyuer

相关链接

  • SQL Server类图书

广告也精彩

反馈

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