따라서 내 쿼리는 다음과 같으며 많은 결과를 반환 할 수 있습니다.
SELECT P_CODE, NAME FROM TEST.dbo.PEOPLE
WHERE NAME LIKE '%JA%'
AND P_CODE LIKE '%003%'
AND DOB LIKE '%1958%'
AND HKID = ''
AND (MOBILE LIKE '%28%' OR TEL LIKE '%28%')
쿼리 결과가 정확히 1 행인 경우에만 결과를 반환하도록이를 저장 프로 시저 (또는보기?)에 통합하고 싶습니다. 0 또는> 1이면 결과가 반환되지 않습니다.
1이 아닌 경우 빈 결과 집합을 반환하려는 경우 :
;WITH x AS
(
SELECT P_CODE, NAME, c = COUNT(*) OVER()
FROM TEST.dbo.PEOPLE
WHERE NAME LIKE '%JA%'
AND P_CODE LIKE '%003%'
AND DOB LIKE '%1958%'
AND HKID = ''
AND (MOBILE LIKE '%28%' OR TEL LIKE '%28%')
)
SELECT P_CODE, NAME FROM x WHERE c = 1;
그렇지 않으면 쿼리를 두 번 실행해야합니다 (또는 결과를 #temp 테이블과 같은 중간 저장소에 덤프). 한 번은 카운트를 가져오고 한 번은 카운트를 실행할지 여부를 결정합니다 SELECT
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다