次のSQlステートメントがあります。
SELECT id + 100000000000000000 AS id,
a.external_code + CAST(id AS varchar(15)) as crUniqueId,
m.check_amount,
'C' as crType,
m.postprint_date as activationDate,
m.postprint_date as creationDate,
m.memo_explanation as reasonLine1,
m.check_no,
m.check_amount - sh.sumAmount As dispositionAmount
FROM md_master m
Join accounts a on m.account_tag = a.acct_id
LEFT JOIN (SELECT master_id,
SUM(md_cr_pending.current_amount) as sumAmount
FROM md_cr_pending
Group BY master_id) sh ON master_id = m.ID
WHERE (m.postprint_tag = 2) OR (m.postprint_tag = 4) OR
(m.postprint_tag = 5) OR (m.postprint_tag = 7)
UNION ALL
SELECT id + 200000000000000000 as id,
'PERCHK' + CAST(id AS varchar(15)) as crUniqueId,
check_amount,
'P' as crType,
business_date as activationDate,
business_date as creationDate,
identify_description as reasonLine1,
check_no,
check_amount - sh.sumAmount As dispositionAmount
FROM cd_personal_checks
LEFT JOIN (SELECT cd_personal_checks_id,
SUM(md_cr_pending.current_amount) as sumAmount
FROM md_cr_pending
Group BY cd_personal_checks_id) sh
ON sh.cd_personal_checks_id = cd_personal_checks.ID
UNIONの各selectステートメントに列を追加したいと思います。ただし、前の列で作成したエイリアスを使用する必要があります。
例えば。次のことをしたい
m.check_amount - sh.sumAmount As dispositionAmount, m.check_amount-dispositionAmount AS openBalance
と
check_amount - sh.sumAmount As dispositionAmount, check_amount-dispositionAmount AS openBalance
それぞれ
これはできますか?現在、上記の方法で、「無効な列名'dispositionAmount'」が表示されます。
ありがとう