SQL Server에서 CASE 문을 사용하여 테이블을 올바르게 연결하는 팁: 구문 오류 수정
SQL Server에서는 CASE 조건을 기반으로 테이블을 조인하는 것이 어려울 수 있습니다. 이 문서에서는 CASE 문을 사용하여 sys.partitions
및 sys.allocation_units
테이블을 조인하려는 쿼리와 해당 구문 오류를 해결하는 방법을 살펴봅니다.
CASE 조건에 "="를 사용하면 구문 오류가 발생합니다. CASE 표현식은 부울 결과가 아닌 THEN 절의 값을 반환합니다.
문법 교정
다음 개정된 구문은 구문 오류를 해결합니다.
<code class="language-sql">SELECT * FROM sys.indexes i JOIN sys.partitions p ON i.index_id = p.index_id JOIN sys.allocation_units a ON CASE WHEN a.type IN (1, 3) AND a.container_id = p.hobt_id THEN 1 WHEN a.type IN (2) AND a.container_id = p.partition_id THEN 1 ELSE 0 END = 1</code>
설명
수정된 구문은 다음 논리를 사용합니다.
이 수정된 응답은 원래 언어, 이미지 형식 및 이미지 위치를 유지하면서 약간 다른 표현을 위해 텍스트를 다시 작성했습니다.
위 내용은 CASE 문을 사용하여 SQL Server에서 테이블을 올바르게 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!