繁体   English   中英

运行此 T-SQL 代码时出错

[英]Getting an error while running this T-SQL code

编写此代码时出现错误。 我该如何解决? 它说错误在'in'

CREATE PROCEDURE spPracticum
    (@MaxCountry As VARCHAR,
     @MinCountry As VARCHAR)
AS
    SELECT 
        [Country], [Year], [Subscribers], c.[name]
    FROM 
        [dbo].[cell phone subscribers] AS s
    JOIN
        [dbo].[countries] AS c ON s.[Country] = c.[country-code]
    WHERE 
        @MinCountry <= Country 
        AND @MaxCountry >= Country IN (SELECT MAX(Subscribers) 
                                       FROM [dbo].[cell phone subscribers] )
    ORDER BY
        Year

您现在遇到的具体错误(我假设是Incorrect syntax near the keyword 'IN'.是由于您的WHERE子句的第二部分:

 AND @MaxCountry >= Country IN (SELECT MAX(Subscribers)                                       
                                FROM [dbo].[cell phone subscribers] )

这是一个无效语句 - 您可以使用AND @MaxCountry >= Country仅返回s.[Country]值小于或等于为@MaxCountry参数提供的值的@MaxCountry ,但您不能添加IN语句到最后,因为它没有意义,而且 SQL 不了解您要做什么。

它不是完全清楚对我有什么你正在尝试做的,所以我不能比提供更进一步的指导-如果你能澄清你的问题给我们基于给定输入期望和电流输出的一些想法,那么我们可能会能够进一步提供帮助。

尝试阅读如何提出一个好问题? 帮助中心中的文章,可能还有如何创建最小、完整和可验证的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM