0
我正在使用SQL Server 2008R2
並且我有以下腳本。SQL函數不返回與正常查詢相同的內容
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而另一個不是?有任何想法嗎?
你可以在兩個地方限定'tbOrderProduct'的名字是'Database.Schema.tbOrderProduct'嗎?你還有不同的答案嗎? –
如何在沒有模式限定符的情況下使用表值函數? –