我正在尝试在SQL Server Management Studio中创建一个存储过程,在那里我可以找到属于具有特定状态的某个Vendor的表中的任何发票。例如,我的VB应用程序中有供应商123456,我想查找他的InvoiceTable中是否有任何发票,其中status = B并返回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
现在它总是返回一个单数的“假”值,无论ordertatus = B和vendornumber = @vendornumber。
我不确定这是否可行,或者我甚至在右页
答案 0 :(得分:3)
你可以试试这个
IF EXISTS(SELECT *
FROM InvoiceTable
WHERE OrderStatus = 'B' and VendorNumber = @VendorNumber
)
SELECT 'True'
ELSE
SELECT 'False'
答案 1 :(得分:0)
DECLARE @Result varchar(10)
IF EXISTS(SELECT *
FROM InvoiceTable
WHERE OrderStatus = 'B' and VendorNumber = @VendorNumber
)
BEGIN
SET @Result = 'True'
END
ELSE BEGIN
SET @Result = 'False'
END
RETURN @Result
注意-您可以使用bit代替返回“ True”或“ False”