다음 쿼리가 작동합니다. 그러나 쿼리 변수를 로컬에서 정의한 변수에 할당하기 위해 주석 처리 된 행의 주석을 제거하면 마지막 ";"에서 구문 오류가 발생합니다.변수에 할당 된 값을 사용할 때 T-SQL 쿼리가 오류를 발생합니다.
DECLARE @tmp_total_ct int = 0;
DECLARE @tmp_closed_ct int = 0;
--SELECT @tmp_total_ct = tot_ct, @tmp_closed_ct = cls_ct
-- FROM (
SELECT COUNT(*) AS tot_ct,
SUM(IIF(is_closed = 1, 1, 0)) AS cls_ct
FROM corp.CashDealDetails
INNER JOIN WidgeStores wstrs
ON corp.CashDealDetails.abbrev = wstrs.abbrev
WHERE mall_id IN
(SELECT mall_ndx FROM WidgeStores wstrs
WHERE wstrs.abbrev IN
(SELECT abbrev FROM @tmpMkts)
AND wstrs.[is_opn] = 1
)
AND YEAR(closing_dt) = 2012
--);
나는 이러한 스레드의 다른 게시물에 설명 된대로 내가, 사용자 정의 변수에 쿼리 값을 할당하기위한 올바른 구문을 사용하고 있다고 생각합니다. 구문 오류가 정확히 어디에 있습니까?
별칭 기본 하위 쿼리 – JimmyV