このクエリがあり、新しいフィールドを追加する必要があります。フィールドを取得するために多数の結合を実行することもできますが、一度結合してから、他のすべての選択ステートメントでフィールドを使用することをお勧めします。以下はクエリです。
select
BCCR.DocumentNumber
, BCCR.BCCRDebitMemo
, BCCR.BCCRDate
, BCCR.RejectFlag
, BCCR.ManualEntry
, BCCR.DebitTotal
, coalesce(BCCRApproved.BCCRAmount,0) BCCRAmount
, coalesce(BCCRRejected.BCCRRejectedAmount,0) BCCRRejectedAmount
, coalesce(BCCRRejected.BCCRRejectedLines,0) BCCRRejectedLines
from
(select
h.DocumentNumber
, h.DebitMemo as BCCRDebitMemo
, h.TransmissionDate as BCCRDate
, 'N' RejectFlag
, h.ManualEntry
, h.DebitTotal
from chargebackheader h
where h.TransmissionDate >= @BeginDate
and h.TransmissionDate <= @EndDate) BCCR left join
(select
h.DocumentNumber
, ROUND(SUM(d.ChargebackAmount),2) as BCCRAmount
from chargebackheader h join chargebackdetail d on
h.DocumentBranchPlant=d.DocumentBranchPlant
and h.DocumentNumber=d.DocumentNumber
and h.DocumentType=d.DocumentType
where h.TransmissionDate >= @BeginDate
and h.TransmissionDate <= @EndDate
and d.RejectFlag = 'N'
group by
h.DocumentNumber
, h.DebitMemo
, h.TransmissionDate
, h.ManualEntry
, h.DebitTotal) BCCRApproved on BCCR.DocumentNumber = BCCRApproved.DocumentNumber
それで、2 番目の BCCR 選択ステートメントに、processeddate フィールドを追加したいとします。私はそこに参加することができました。また、このフィールドを 3 番目の select ステートメントに追加する必要があります。3 番目のステートメントで結合をやり直すことなく、2 番目のステートメントからフィールドを取得して 3 番目のステートメントに追加できますか?