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

SQL语句写法

楼主nmyou()2003-08-01 17:53:23 在 MS-SQL Server / 基础类 提问

某视图view1(经过比较复杂的查询条件):  
  view1  
  column1     column2     column3  
        1                 2                 2  
        1                 3                 1  
        2                 4                 3  
        2                 5                 4  
  使用  
  select   column1,max(column2)   as   column2   from   view1   group   by   column1可以得到如下的结果  
  column1       column2      
        1                 3                    
        2                 5                    
  但要求同时显示对应的column3列的数据,即  
  column1     column2     column3  
        1                 3                 1  
        2                 4                 4  
   
  如果view1是一个table,则可以用  
  select   *   from   view1   A    
  where   column2   =   (select   max(column2)   from   table1   where   column1   =   A.column1)  
  但现在是视图,不支持view1   A的写法....  
   
  多谢!  
   
   
  问题点数:50、回复次数:7Top

1 楼txlicenhe(马可)回复于 2003-08-01 17:57:52 得分 10

Select   *   from   view1   a   join  
  (select   column1,max(column2)   as   column2   from   view1   group   by   column1)   b  
  on   a.column1   =   b.column1   and   a.column2   =   b.column2Top

2 楼pengdali()回复于 2003-08-01 18:07:01 得分 10

select   *   from   view1   tem   where   column2=(select   max(column2)   from   view1   where   column1=tem.column1)Top

3 楼zjcxc(邹建)回复于 2003-08-01 20:20:29 得分 10

select   *   from   view1   a    
  where   column2=(select   max(column2)   from   view1   where   column1=a.column1)Top

4 楼ldy(罗大佑)回复于 2003-08-01 20:25:02 得分 10

我觉得除了水园,就是这里星多了  
  呵呵Top

5 楼nmyou()回复于 2003-08-02 09:30:05 得分 0

是啊,好多星星;)  
  为什么这样不行呢?  
  select   *   from   view1   a    
  where   column2=(select   max(column2)   from   a   where   column1=view1.column1)Top

6 楼happydreamer(www.sz.js.cn,www.gyxk.com)回复于 2003-08-02 09:40:43 得分 10

select   *   from   view1   a    
  where   column2=(select   max(column2)   from   a   where   column1=view1.column1)  
                                                                                ---这里的a不对   改成viewname  
   
                                                                            view1.column1   改成a.columnTop

7 楼nmyou()回复于 2003-08-02 10:57:52 得分 0

哦,多谢各位了Top

相关问题

  • sql 语句写法.
  • sql语句写法
  • sql语句写法
  • SQL语句写法。
  • sql语句写法
  • sql语句- 写法!
  • 请教SQL语句写法
  • 关于sql语句写法
  • SQL语句的 写法~~~~~~~~~
  • SQL语句的写法

关键词

  • view
  • column
  • max
  • where
  • select

得分解答快速导航

  • 帖主:nmyou
  • txlicenhe
  • pengdali
  • zjcxc
  • ldy
  • happydreamer

相关链接

  • SQL Server类图书

广告也精彩

反馈

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