Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
Sql server 在标量值=计数(*)处选择顶部N_Sql Server_Tsql - Fatal编程技术网

Sql server 在标量值=计数(*)处选择顶部N

Sql server 在标量值=计数(*)处选择顶部N,sql-server,tsql,Sql Server,Tsql,我试图设置标量值。所需的结果来自选择带领带的TOP 1块。我怎样才能做好呢 我尝试的方式是: USE AdventureWorks2014 GO CREATE FUNCTION funcGetLastFridayOrders RETURNS SMALLINT AS BEGIN DECLARE @orders_quantity SMALLINT SELECT TOP 1 WITH TIES @orders_quantity = COUNT(*) FROM Purchasi

我试图设置标量值。所需的结果来自
选择带领带的TOP 1
块。我怎样才能做好呢

我尝试的方式是:

USE AdventureWorks2014
GO
CREATE FUNCTION funcGetLastFridayOrders
RETURNS SMALLINT
AS
BEGIN
    DECLARE @orders_quantity SMALLINT
    SELECT TOP 1 WITH TIES @orders_quantity = COUNT(*) 
    FROM Purchasing.PurchaseOrderHeader
    WHERE DATEPART(DAY,OrderDate) = 5
    GROUP BY OrderDate 
    ORDER BY OrderDate DESC
    RETURN @order_quantity
END
错误消息:

必须声明标量变量“@order\u quantity”

鉴于

DECLARE @var INT
SELECT @var = intValue FROM table WHERE id = 1

工作正常。

这只是返回行中的一个输入错误。你写的是“订单数量”而不是“订单数量”

这是正确的说法:

USE AdventureWorks2014
GO
CREATE FUNCTION funcGetLastFridayOrders
RETURNS SMALLINT
AS
BEGIN
    DECLARE @orders_quantity SMALLINT
    SELECT TOP 1 WITH TIES @orders_quantity = COUNT(*) 
    FROM Purchasing.PurchaseOrderHeader
    WHERE DATEPART(DAY,OrderDate) = 5
    GROUP BY OrderDate 
    ORDER BY OrderDate DESC
    RETURN @orders_quantity
END

这只是回路线上的一个输入错误。你写的是“订单数量”而不是“订单数量”

这是正确的说法:

USE AdventureWorks2014
GO
CREATE FUNCTION funcGetLastFridayOrders
RETURNS SMALLINT
AS
BEGIN
    DECLARE @orders_quantity SMALLINT
    SELECT TOP 1 WITH TIES @orders_quantity = COUNT(*) 
    FROM Purchasing.PurchaseOrderHeader
    WHERE DATEPART(DAY,OrderDate) = 5
    GROUP BY OrderDate 
    ORDER BY OrderDate DESC
    RETURN @orders_quantity
END

您有一个语法错误

DECLARE@orders\u quantity SMALLINT

但你用它作为回报

RETURN @order_quantity

您有一个语法错误

DECLARE@orders\u quantity SMALLINT

但你用它作为回报

RETURN @order_quantity

非常感谢。我保证会更加专心!很高兴能帮上忙谢谢。我保证会更加专心!很高兴能为您提供帮助您希望
TOP 1与TIES
,这显式地打开了查询返回多行的可能性,但是您要将该结果分配给标量变量吗?我无法理解达到这一特定点的思维过程是什么。我正在计算上周五的订单。您希望
TOP 1与TIES
,这会显式地打开查询返回多行的可能性,但随后您将该结果分配给标量变量?我无法理解达到这一点的思维过程是什么。我正在计算上周五的订单。