0
이전에 (거의 확실하게) 대답했지만 검색으로 대답을 찾을 수없는 경우 사과드립니다.서브 쿼리에서 select가 아닌 테이블 자체에 테이블을 조인하는 효율
다른 열에 대해 다른 방법으로 하위 쿼리로 값을 집계하는 쿼리가 있습니다 (예 : 특정 날짜의 거래의 경우 전월, 이전 6 개월, 그 전의 거래가 그 다음에 있습니다. 나는 텍사스와 같은 기본 테이블, TX1으로 다음 하위 쿼리 별칭
SELECT
tr.transaction_value
,ISNULL(
(SELECT SUM(tr1.transaction_value) FROM [MyDB].[dbo].[Transactions] tr1
WHERE tr1.Client_Ref = tr.Client_Ref),0) AND tr1.Transaction_Date > tr.Transaction_Date
),0) as 'Future_Transactions'
,ISNULL(
(SELECT SUM(tr1.transaction_value) FROM [MyDB].[dbo].[Transactions] tr1
WHERE tr1.Client_Ref = tr.Client_Ref),0) AND tr1.Transaction_Date < tr.Transaction_Date
),0) as 'Prior_Transactions'
FROM [MyDB].[dbo].[Transactions] tr
내가 서브 쿼리 7 개 같은 열이 있다면 7 번 하위 쿼리에서 테이블을 정의하고, 알고 싶은, 그것은 가능하고 더 나은를 별칭 (보다 효율적이고 읽기 쉽도록) 각 하위 쿼리에서 다시 작성하지 않고 기본 테이블 쿼리에서 INNER JOIN으로 tx1을 생성합니다. 그렇다면 어떻게 WHERE 절을 코딩합니까? 감사합니다 : o)