두 개의 조인 된 테이블이 있습니다. 표 1에는 클라이언트 데이터가 있고 표 2에는 상태가 있습니다.와일드 카드 변수로 SQL 테이블 조인
와일드 카드 이름 검색이 필요하지만 실제로는 테이블 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 + '%')
위대한 노아 - 완벽하게 작동합니다. – gillers322