私は2つの結合されたテーブルを持っています。表 1 にはクライアント データがあり、表 2 にはそのステータスがあります。
ワイルドカードで名前を検索する必要がありますが、テーブル 2 のステータスに基づいて結果を返したいだけです。これは、@ClientName 変数に実際にデータを入力すると機能しますが、空のままにすると、すべてのレコードが返され、 @ClientStatus 変数。これを修正する方法についてのアイデアはありますか?
DECLARE @ClientName NVARCHAR (100) = ''
DECLARE @ClientStatus INT = 1
SELECT DBO.CLIENTS.CLIENTID,
DBO.CLIENTS.FIRST_NAME,
DBO.CLIENTS.LAST_NAME,
DBO.CLIENTS.PHONE_NUMBER,
DBO.CLIENTS.MOBILE_NUMBER,
DBO.CLIENTS.HOUSE_ADDRESS_NUMBER,
DBO.CLIENTS.STREET_NAME,
DBO.CLIENTS.TOWN_CITY,
DBO.CLIENTS.POST_CODE,
DBO.CLIENTS.EMAIL_ADDRESS,
DBO.CLIENTS.CLIENT_SOURCE,
DBO.CLIENTS.CLIENT_STATUS,
DBO.CLIENTS.DATE_ADDED,
DBO.CLIENTS.CALL_DATE,
DBO.CLIENTS.CALL_TIME,
DBO.CLIENT_STATUS.CLINIC_STATUS
FROM DBO.CLIENTS
INNER JOIN DBO.CLIENT_STATUS
ON DBO.CLIENTS.CLIENT_STATUS = DBO.CLIENT_STATUS.STATUSID
WHERE ( DBO.CLIENT_STATUS.CLINIC_STATUS = @ClientStatus )
AND ( DBO.CLIENTS.LAST_NAME LIKE @ClientName + '%' )
OR ( DBO.CLIENTS.MOBILE_NUMBER LIKE @ClientName + '%' )