【发布时间】:2018-03-06 21:06:41
【问题描述】:
我的存储过程中有以下内容:
DECLARE @CustomerNumber nvarchar(50)
SELECT TOP 200
C.CustomerNumber as SourceSystemId,
C.CustomerName,
AccountManager,
C.CustomerId
FROM
Customer C WITH(NOLOCK, index (UQ_Customer_CustomerNumber))
LEFT JOIN
CustomerQuotingPreference cp WITH(NOLOCK)ON cp.CustomerId = C.CustomerId
WHERE
(C.CustomerName LIKE ('%1725614%')
OR C.CustomerNumber LIKE ('%' + CONVERT(VARCHAR(61), '1725614' ) +'%'))
ORDER BY
C.CustomerName
IF @@ROWCOUNT = 0
BEGIN
SELECT DISTINCT
@CustomerNumber= C.CustomerNumber
FROM
[IFO].dbo.PricedealProposal PP
JOIN
IFO.dbo.OrderQuote OQ ON PP.OrderQuoteId = OQ.OrderQuoteId
JOIN
Customer C ON C.CustomerId = OQ.CompanyId
WHERE
PP.PriceDealProposalId = '1725614'
EXEC [dbo].[Customer_ListCustomerDetailsByCustomerNumber] @searchString = @CustomerNumber
END
当我运行这个时,我得到了两个选择的结果,而不是最后一个:
如何根据满足的条件仅从其中一个选择中获取结果?
【问题讨论】:
-
听起来很适合使用
EXISTS--看起来就是你所追求的
标签: sql sql-server-2008 stored-procedures rowcount