我試圖在SQL Server Management Studio中創建一個存儲過程,我可以在屬於某個具有特定狀態的供應商的表中找到任何發票。例如,我從我的VB應用程序供應商123456,我想要查找他們是否有任何發票在我的InvoiceTable狀態= B並返回一個true或false值。這是我到目前爲止已經嘗試:在存儲過程中返回True或False值
ALTER PROCEDURE [dbo].[CheckStatus]
@VendorNumber char
AS
BEGIN
Select distinct
CASE WHEN OrderStatus = 'B' and VendorNumber = @VendorNumber then 'true' else 'False' END as Status
from InvoiceTable
END
現在,它總是返回一個奇異的「假」值,不管orderstatus = B和vendornumber = @vendornumber與否。
我不知道這是可能的,或者我甚至在右側頁面
你的曲嘗試ery爲表中的所有記錄建立「真」或「假」列表,然後「明確」爲「真」或「假」。顯然'錯誤'恰好在第一行,你的應用程序從不讀第二行。 – GSerg
我會將您的案例條款移到where子句中,從中選擇計數,如果結果> 0,那麼您知道您有發票。你的不同可能總是返回2行:'True'和'False',它可能恰好是假的第一個 – mafafu
@Madafu現在它只返回一堆行,每個發票一個,但他們總是全都是假的。這就是爲什麼我有獨特的,希望它會返回一個'真'和'假'至少如果它返回True和False我會知道它是擊中所有不同的發票,但它不是。 –