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

sql语句问题!

楼主casoon(五月人)2005-08-02 16:41:32 在 MS-SQL Server / 应用实例 提问

在sql查询分析器中执行下面语句  
  select   counts=(count(*))   ,filmnames=filmname   into   #s   from   view_userlog   group   by   filmname  
  --select   *   from   #t   order   by   counts   desc  
  select   top   10   t.*,#s.counts   from   view_userlog   t   join   #s   on   t.filmname=#s.filmnames   where   (not    
  EXISTS(select   filmname   from   view_userlog   where   id>t.id   and   filmname=t.filmname))     and   t.parent=61   order   by   counts   desc  
   
  如果where中任意少一个条件如去掉"t.parent=61"就能执行成功,但只在两个条件都在就不能执行,这是怎么回事呀?怎么解决,各位大虾帮帮忙! 问题点数:50、回复次数:4Top

1 楼casoon(五月人)回复于 2005-08-02 16:46:29 得分 0

view_userlog结构  
  id       int 4  
  loginid     nvarchar 20  
  filmname     nvarchar 50  
  watchtime     datetime 8  
  Name_cn1       nvarchar                 50  
  Parent           int                           4  
  SmallImg       nvarchar                 100  
       
  Top

2 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-08-02 16:58:49 得分 0

什么错误?  
   
  楼下的查询是可以执行的:  
  ----------------------------------------------------------------------------------  
  create   table   #view_userlog(  
  id                 int,  
  loginid       nvarchar(20),  
  filmname     nvarchar(50),  
  watchtime   datetime,  
  Name_cn1     nvarchar(50),  
  Parent         int,  
  SmallImg     nvarchar(100))  
   
  select   counts=(count(*))   ,filmnames=filmname   into   #s   from   #view_userlog   group   by   filmname  
   
  select    
          top   10   t.*,  
          #s.counts    
  from    
          #view_userlog   t    
  join    
          #s    
  on    
          t.filmname=#s.filmnames    
  where    
          not   EXISTS(select   filmname   from   #view_userlog   where   id>t.id   and   filmname=t.filmname)  
          and    
          t.parent=61    
  order   by    
          counts   descTop

3 楼casoon(五月人)回复于 2005-08-02 17:03:18 得分 0

也没提示错误,就是显示正在执行查询语句!  
  要是少一个条件的话,执行结果马上就显示出来!Top

4 楼casoon(五月人)回复于 2005-08-02 17:08:40 得分 0

 
   
  select   counts=(count(*))   ,filmnames=filmname   into   #mm   from   view_userlog   group   by   filmname  
  select   id=identity(int,1,1),filmname=filmname,watchtime=watchtime,name_cn1=name_cn1,parent=parent,smallimg=smallimg   into   #films   from   view_userlog   ss   where  
  (not    
   
  EXISTS(select   filmname   from   view_userlog   where   id>ss.id   and   filmname=ss.filmname))  
   
   
  select   top   10   #films.*,#mm.counts   from   #films   join   #mm   on   #films.filmname=#mm.filmnames   where   #films.parent=61   order   by   #mm.counts   desc  
  drop   table   #films  
  drop   table   #mm  
  这样就可行,也不知道是怎么回事!Top

相关问题

  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?
  • 求SQL语句
  • ***求SQL语句***
  • sql语句??
  • sql语句
  • sql语句
  • SQL语句

关键词

  • 语句
  • 执行
  • view
  • top
  • filmnames
  • userlog
  • watchtime
  • smallimg
  • nvarchar
  • films

得分解答快速导航

  • 帖主:casoon

相关链接

  • SQL Server类图书

广告也精彩

反馈

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