私は使用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
2番目のクエリを実行すると、値が返されます。つまり、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のカウントを返し、もう一方が返さないのですか?何か案は?