쿼리가 1 개의 결과 만 반환하는 경우 쿼리를 실행하고 선택한 값을 반환하는 저장 프로 시저

이름

따라서 내 쿼리는 다음과 같으며 많은 결과를 반환 할 수 있습니다.

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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관