当前位置: 代码迷 >> Sql Server >> 语句报错 怎么解决 多谢
  详细解决方案

语句报错 怎么解决 多谢

热度:15   发布时间:2016-04-27 10:53:55.0
语句报错 请教高手如何解决 谢谢。
select count(*) from systemMessage where (userid,avid) in (
select top 10 userid,avid from ( select distinct userid,avid from Interactive where interResult is not null and avid is not null and convert(varchar(10),interdate,120)=convert(varchar(10),getdate(),120) ) i order by newid() )



------解决方案--------------------
select count(*) from systemMessage where (userid,avid) in (
 select top 10 userid,avid from ( select distinct userid,avid from Interactive where interResult is not null and avid is not null and convert(varchar(10),interdate,120)=convert(varchar(10),getdate(),120) ) i order by newid() )

sqlserver没这种语法,换exists吧
------解决方案--------------------
SQL code
SELECT  COUNT(*) FROM    systemMessage a WHERE   EXISTS ( SELECT 1                  FROM   ( SELECT TOP 10                                     userid ,                                     avid                           FROM      ( SELECT DISTINCT                                                 userid ,                                                 avid                                       FROM      Interactive                                       WHERE     interResult IS NOT NULL                                                 AND avid IS NOT NULL                                                 AND CONVERT(VARCHAR(10), interdate, 120) = CONVERT(VARCHAR(10), GETDATE(), 120)                                     ) i                           ORDER BY  NEWID()                         ) b                  WHERE  a.userid = b.userid                         AND a.avid = b.avid )
  相关解决方案