我正在使用SQL Server 2008R2
并且我有以下脚本。
select * from orderSummaryTotal(@orderid,@sessionid)
select
count(*) as Quantity,
IsNull(Sum(VatAmount),0) As VATAmount,
IsNull(Sum(NetAmount),0) As NetAmount,
IsNull(Sum(GrossAmount),0) as GrossAmount
from tbOrderProduct
where
Orderid = @orderid
and sessionid = @sessionid
当我运行第二个查询时,它会返回我的值。即数量 3
但是,当我运行第一个查询时,它返回的数量为 0。
第一个查询是表值函数这是代码。
ALTER FUNCTION [dbo].[OrderSummaryTotal](@orderid varchar, @sessionid uniqueidentifier)
RETURNS TABLE as
RETURN
select
count(*) as Quantity,
IsNull(Sum(VatAmount),0) As VATAmount,
IsNull(Sum(NetAmount),0) As NetAmount,
IsNull(Sum(GrossAmount),0) as GrossAmount
from tbOrderProduct
where
Orderid = @orderid
and sessionid = @sessionid
两个查询是相同的,但是为什么一个返回计数 3 而另一个不返回呢?有任何想法吗?