Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用IF-ELSE时SQL选择所有行的计数_Sql_Count_Sql Server 2008 R2_If Statement - Fatal编程技术网

使用IF-ELSE时SQL选择所有行的计数

使用IF-ELSE时SQL选择所有行的计数,sql,count,sql-server-2008-r2,if-statement,Sql,Count,Sql Server 2008 R2,If Statement,在SQL中使用IF-ELSE语句时会出现这种情况 @searchString nvarchar(50), @languageId int, @count int, @id int IF(@count IS NOT NULL) SELECT TOP (@count) Id, value FROM TABLE1 WHERE (Id IN (SELECT Id FROM TABLE2 WHER

在SQL中使用IF-ELSE语句时会出现这种情况

    @searchString nvarchar(50),
    @languageId int, 
    @count int,
    @id int
IF(@count IS NOT NULL)
    SELECT TOP (@count) Id, value
    FROM TABLE1
        WHERE  (Id IN
        (SELECT Id
    FROM      TABLE2
    WHERE   (Id = @id))) and languageId = @languageId AND value LIKE '%' + @searchString + '%'
ORDER BY value

ELSE
    SELECT Id, value
    FROM TABLE1
        WHERE  (Id IN
        (SELECT Id
        FROM      TABLE2
    WHERE   (Id = @id))) and languageId = @languageId AND value LIKE '%' + @searchString + '%'
ORDER BY value
我想使用返回所有行的数量 count(*)over()(或类似内容) (因为我现在只返回TOP count记录),就像这里回答的那样:

但是:我不会对每个实例都返回这个值,但我只想返回count一次

有没有一种方法可以通过一个查询来实现这一点,或者我必须为此编写一个单独的查询

任何提示都将不胜感激


编辑:使用SQL server 2008 r2。

我建议您使用内部联接,例如脚本: { 剧本

挑选

                l.localite_id,
                p.patient_id,
                p.patient_date_naissance, 
                p.patient_gsm, p.patient_tel
从 病人p 内连接局部l 在l.localite_id=p.localite_id上 内联维尔五号 关于v.ville\u id=l.ville\u id 内连接管 关于v.gouv_id=g.gouv_id 内部联合支付 ON pays.pays_id=g.pays_id

如果NEQ#患者#gsm#-1 其中p.patient_gsm类似于#patient_gsm#

还有p.病人代码,比如病人代码#

恩迪夫

结束


}

哦,对不起,我忘了提到:SQL server 2008 r2