CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求一SQL语句。越快越好!

楼主downmoon(邀月)2005-02-17 10:59:35 在 MS-SQL Server / 基础类 提问

现有两表一视图  
   
  表Software列名如下:  
  lngComputerID(唯一索引字段)  
  computer_name  
  Name  
  Uninstall_executable  
  Version_major  
  Version_minor  
  Manufacturer  
  Install_directory  
  URL_info_about  
  Version  
  Registered_to  
  Registration_code  
   
  表network_protocols_gateways列名如下  
  lngComputerID(关联)  
  computer_name  
  Gateway  
   
  视图 view_ComputerInfo列名如下:  
  lngComputerID(关联)  
  ComputerName  
  CreateDate  
  DomainName  
  OrgCode  
  OrgName  
   
  原SQl语句如下:  
  select   sf.lngcomputerid   as   'Lngcomputerid',  
  sf.computer_name   as   '计算机名',  
  CreateDate   as   '采集日期',  
  name   as   '程序名称',  
  uninstall_executable   as   'UninstallExecutable',  
  version_major   as   'VersionMajor',  
  version_minor   as   'VersionMinor',  
  manufacturer   as   'Manufacturer',  
  install_directory   as   '安装目录',  
  url_info_about   as   'UrlInfoAbout',  
  version   as   '版本',  
  registered_to   as   'RegisteredTo',  
  registration_code   as   'RegistrationCode',  
  net.gateway   as   '网关',  
  vc.DomainName   as   '登录名',  
  vc.OrgName   as   '组织名称'  
  From   resourcemanage.dbo.software   as   sf  
  left   join   resourcemanage.dbo.network_protocols_gateways   as   net  
  on     sf.lngcomputerid=net.lngcomputerid  
  left   join   view_ComputerInfo   as   vc  
  on   sf.lngcomputerid=vc.lngcomputerid  
   
  Where     net.gateway     not   like   '%   %'  
   
   
  现在问题是视图中CreateDate的日期 有很多个  
  比如20050202在software表中关联出很多不同的name,(20050202这一天搜索出每一台机器上安装的所有程序名称)  
  而20050204在software表中也关联出很多不同的name,(20050204这一天搜索出每一台机器上安装的所有程序名称)  
  现在想把每一台机器   computer_name     按最近日期(其它日期不要)一次的搜索结果呈现出来?  
  应该如何修改SQL语句?  
  问题点数:50、回复次数:6Top

1 楼pretencingfreedom(不能把握感情的神)回复于 2005-02-17 11:28:21 得分 10

select   sf.lngcomputerid   as   'Lngcomputerid',  
  sf.computer_name   as   '计算机名',  
  CreateDate   as   '采集日期',  
  name   as   '程序名称',  
  uninstall_executable   as   'UninstallExecutable',  
  version_major   as   'VersionMajor',  
  version_minor   as   'VersionMinor',  
  manufacturer   as   'Manufacturer',  
  install_directory   as   '安装目录',  
  url_info_about   as   'UrlInfoAbout',  
  version   as   '版本',  
  registered_to   as   'RegisteredTo',  
  registration_code   as   'RegistrationCode',  
  net.gateway   as   '网关',  
  vc.DomainName   as   '登录名',  
  vc.OrgName   as   '组织名称'  
  From   resourcemanage.dbo.software   as   sf  
  left   join   resourcemanage.dbo.network_protocols_gateways   as   net  
  on     sf.lngcomputerid=net.lngcomputerid  
  left   join    
   
  (select   lngComputerID,ComputerName,max(CreateDate),DomainName,OrgCode,OrgName   from   view_ComputerInfo   group   by   lngComputerID,ComputerName,DomainName,OrgCode,OrgName  
  )as   vc  
   
  on   sf.lngcomputerid=vc.lngcomputerid  
   
  Where     net.gateway     not   like   '%   %'Top

2 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-02-17 11:40:02 得分 15

select    
          sf.sputerid                           as   'Lngcomputerid'             ,  
          sf.computer_name                 as   '计算机名'                       ,  
          MAX(vc.CreateDate)             as   '采集日期'                       ,  
          sf.name                                   as   '程序名称'                       ,  
          sf.uninstall_executable   as   'UninstallExecutable',  
          sf.version_major                 as   'VersionMajor'               ,  
          sf.version_minor                 as   'VersionMinor'               ,  
          sf.manufacturer                   as   'Manufacturer'               ,  
          sf.install_directory         as   '安装目录'                       ,  
          sf.url_info_about               as   'UrlInfoAbout'               ,  
          sf.version                             as   '版本'                               ,  
          sf.registered_to                 as   'RegisteredTo'               ,  
          sf.registration_code         as   'RegistrationCode'       ,  
          net.gateway                           as   '网关'                               ,  
          vc.DomainName                       as   '登录名'                           ,  
          vc.OrgName                             as   '组织名称'  
  From    
          resourcemanage.dbo.software   as   sf  
  left   join    
          resourcemanage.dbo.network_protocols_gateways   as   net  
  on  
          sf.lngcomputerid   =   net.lngcomputerid  
  left   join    
          view_ComputerInfo   as   vc  
  on    
          sf.lngcomputerid   =   vc.lngcomputerid  
  Where      
          net.gateway   not   like   '%   %'  
  GROUP   BY  
          sf.sputerid                            
          sf.computer_name                 ,  
          sf.name                                   ,  
          sf.uninstall_executable   ,  
          sf.version_major                 ,  
          sf.version_minor                 ,  
          sf.manufacturer                   ,  
          sf.install_directory         ,  
          sf.url_info_about               ,  
          sf.version                             ,  
          sf.registered_to                 ,  
          sf.registration_code         ,  
          net.gateway                           ,  
          vc.DomainName                       ,  
          vc.OrgNameTop

3 楼sunrisehy2003(黎明)回复于 2005-02-17 11:41:51 得分 10

select   sf.lngcomputerid   as   'Lngcomputerid',  
  sf.computer_name   as   '计算机名',  
  max(CreateDate)   as   '采集日期',  
  name   as   '程序名称',  
  uninstall_executable   as   'UninstallExecutable',  
  version_major   as   'VersionMajor',  
  version_minor   as   'VersionMinor',  
  manufacturer   as   'Manufacturer',  
  install_directory   as   '安装目录',  
  url_info_about   as   'UrlInfoAbout',  
  version   as   '版本',  
  registered_to   as   'RegisteredTo',  
  registration_code   as   'RegistrationCode',  
  net.gateway   as   '网关',  
  vc.DomainName   as   '登录名',  
  vc.OrgName   as   '组织名称'  
  From   resourcemanage.dbo.software   as   sf  
  left   join   resourcemanage.dbo.network_protocols_gateways   as   net  
  on     sf.lngcomputerid=net.lngcomputerid  
  left   join   view_ComputerInfo   as   vc  
  on   sf.lngcomputerid=vc.lngcomputerid  
   
  Where     net.gateway     not   like   '%   %'Top

4 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-02-17 11:42:17 得分 15

select    
          sf.sputerid                           as   'Lngcomputerid'             ,  
          sf.computer_name                 as   '计算机名'                       ,  
          MAX(vc.CreateDate)             as   '采集日期'                       ,  
          sf.name                                   as   '程序名称'                       ,  
          sf.uninstall_executable   as   'UninstallExecutable',  
          sf.version_major                 as   'VersionMajor'               ,  
          sf.version_minor                 as   'VersionMinor'               ,  
          sf.manufacturer                   as   'Manufacturer'               ,  
          sf.install_directory         as   '安装目录'                       ,  
          sf.url_info_about               as   'UrlInfoAbout'               ,  
          sf.version                             as   '版本'                               ,  
          sf.registered_to                 as   'RegisteredTo'               ,  
          sf.registration_code         as   'RegistrationCode'       ,  
          net.gateway                           as   '网关'                               ,  
          vc.DomainName                       as   '登录名'                           ,  
          vc.OrgName                             as   '组织名称'  
  From    
          resourcemanage.dbo.software   as   sf  
  left   join    
          resourcemanage.dbo.network_protocols_gateways   as   net  
  on  
          sf.lngcomputerid   =   net.lngcomputerid  
  left   join    
          view_ComputerInfo   as   vc  
  on    
          sf.lngcomputerid   =   vc.lngcomputerid  
  Where      
          charindex('   ',net.gateway)   =   0  
  GROUP   BY  
          sf.sputerid                           ,                      
          sf.computer_name                 ,  
          sf.name                                   ,  
          sf.uninstall_executable   ,  
          sf.version_major                 ,  
          sf.version_minor                 ,  
          sf.manufacturer                   ,  
          sf.install_directory         ,  
          sf.url_info_about               ,  
          sf.version                             ,  
          sf.registered_to                 ,  
          sf.registration_code         ,  
          net.gateway                           ,  
          vc.DomainName                       ,  
          vc.OrgNameTop

5 楼downmoon(邀月)回复于 2005-02-17 12:55:13 得分 0

按     pretencingfreedom(不能把握感情的神)  
  和  
    libin_ftsafe(子陌红尘)    
  的方法,均得结果如下  
  46 GQR-HGH 2005-02-02   16:53:54.000 Windows   Media   Player   Hotfix   [   Q828026   ???]  
  46 GQR-HGH 2005-02-02   16:53:54.000 Windows   Messenger   5.0  
  46 GQR-HGH 2005-02-02   16:53:54.000 WinRAR   archiver  
  46 GQR-HGH 2005-02-02   16:53:54.000 Windows   2000     -   KB841872  
  …………………………………………………………………………………………………  
  64 GQR-HGH 2006-02-02   16:53:54.000 Microsoft   Visio   Professional   2002   [CHN]  
  64 GQR-HGH 2006-02-02   16:53:54.000 MSN   Messenger   5.5  
  64 GQR-HGH 2006-02-02   16:53:54.000 FlashGet   ads   support  
  64 GQR-HGH 2006-02-02   16:53:54.000 Intel(R)   Extreme   Graphics   Driver  
  64 GQR-HGH 2006-02-02   16:53:54.000 LiveUpdate   1.6   (Symantec   Corporation)  
  64 GQR-HGH 2006-02-02   16:53:54.000 Autodesk   Express   Viewer  
  64 GQR-HGH 2006-02-02   16:53:54.000 C-Dilla   Licence   Management   System  
  ……………………………………………………………………………………  
   
  而我想要的是只有下面只有 2006-02-02   16:53:54.000 这个日期(最新)的所有数据!!??Top

6 楼downmoon(邀月)回复于 2005-02-17 13:47:24 得分 0

已解决!   
  最终语句如下:  
  select    
          max(sf.Lngcomputerid)                         as   'Lngcomputerid'             ,  
  --           sf.Lngcomputerid                         as   'Lngcomputerid'             ,  
          sf.computer_name                 as   '计算机名'                       ,  
          MAX(vc.CreateDate)             as   '采集日期'                       ,  
          sf.name                                   as   '程序名称'                       ,  
          sf.uninstall_executable   as   'UninstallExecutable',  
          sf.version_major                 as   'VersionMajor'               ,  
          sf.version_minor                 as   'VersionMinor'               ,  
          sf.manufacturer                   as   'Manufacturer'               ,  
          sf.install_directory         as   '安装目录'                       ,  
          sf.url_info_about               as   'UrlInfoAbout'               ,  
          sf.version                             as   '版本'                               ,  
          sf.registered_to                 as   'RegisteredTo'               ,  
          sf.registration_code         as   'RegistrationCode'       ,  
          net.gateway                           as   '网关'                               ,  
          vc.DomainName                       as   '登录名'                           ,  
          vc.OrgName                             as   '组织名称'  
  From    
          resourcemanage.dbo.software   as   sf  
  left   join    
          resourcemanage.dbo.network_protocols_gateways   as   net  
  on  
          sf.lngcomputerid   =   net.lngcomputerid  
  left   join    
          view_ComputerInfo   as   vc  
  on    
          sf.lngcomputerid   =   vc.lngcomputerid  
  Where      
          charindex('   ',net.gateway)   =   0    
  and     sf.computer_name = 'GQR-HGH'  
   
  GROUP   BY  
  --           sf.Lngcomputerid ,                  
          sf.computer_name                 ,  
          sf.name                                   ,  
          sf.uninstall_executable   ,  
          sf.version_major                 ,  
          sf.version_minor                 ,  
          sf.manufacturer                   ,  
          sf.install_directory         ,  
          sf.url_info_about               ,  
          sf.version                             ,  
          sf.registered_to                 ,  
          sf.registration_code         ,  
          net.gateway                           ,  
          vc.DomainName                       ,  
          vc.OrgName  
  Top

相关问题

  • 一SQL语句?
  • 怎么用Isapi编sql数据库程序?最好有源代码!越快越好。
  • 帮帮忙,越快越好,一个简单MDI程序问题,快来抢分呀!
  • 求救一个DATAGRID的问题,新手,简单的,请高手们帮个忙,越快越好,50分
  • 一个SQL语句
  • 一个SQL语句?
  • 一条sql语句
  • 求一sql语句!
  • 求一sql语句!!
  • 求一sql语句

关键词

  • .net
  • 语句
  • 网关
  • vc
  • 安装
  • lngcomputerid
  • gqr
  • sf
  • hgh2006
  • orgname

得分解答快速导航

  • 帖主:downmoon
  • pretencingfreedom
  • libin_ftsafe
  • sunrisehy2003
  • libin_ftsafe

相关链接

  • SQL Server类图书

广告也精彩

反馈

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