select
(
select ACCTGRPID
from FA41300 Grp
where
Acct.DEPREXPACCTINDX = Grp.DEPREXPACCTINDX
and Acct.DEPRRESVACCTINDX = Grp.DEPRRESVACCTINDX
and Acct.PRIORYRDEPRACCTINDX = Grp.PRIORYRDEPRACCTINDX
and Acct.ASSETCOSTACCTINDX = Grp.ASSETCOSTACCTINDX
and Acct.PROCEEDSACCTINDX = Grp.PROCEEDSACCTINDX
and Acct.RECGAINLOSSACCTINDX = Grp.RECGAINLOSSACCTINDX
and Acct.NONRECGAINLOSSACCTINDX = Grp.NONRECGAINLOSSACCTINDX
and Acct.CLEARINGACCTINDX = Grp.CLEARINGACCTINDX
and Grp.DEPREXPACCTINDX != 0
and Grp.DEPRRESVACCTINDX != 0
and Grp.PRIORYRDEPRACCTINDX != 0
and Grp.ASSETCOSTACCTINDX != 0
and Grp.PROCEEDSACCTINDX != 0
and Grp.RECGAINLOSSACCTINDX != 0
and Grp.NONRECGAINLOSSACCTINDX != 0
and Grp.CLEARINGACCTINDX != 0
and exists (
select * from FA41300 Grp2
where
Grp2.DEPREXPACCTINDX = Grp.DEPREXPACCTINDX
and Grp2.DEPRRESVACCTINDX = Grp.DEPRRESVACCTINDX
and Grp2.PRIORYRDEPRACCTINDX = Grp.PRIORYRDEPRACCTINDX
and Grp2.ASSETCOSTACCTINDX = Grp.ASSETCOSTACCTINDX
and Grp2.PROCEEDSACCTINDX = Grp.PROCEEDSACCTINDX
and Grp2.RECGAINLOSSACCTINDX = Grp.RECGAINLOSSACCTINDX
and Grp2.NONRECGAINLOSSACCTINDX = Grp.NONRECGAINLOSSACCTINDX
and Grp2.CLEARINGACCTINDX = Grp.CLEARINGACCTINDX
having count(*) = 1
)
) As GroupID
, Main.ASSETINDEX, ASSETID, ASSETIDSUF
from FA00100 Main
join FA00400 Acct on Main.ASSETINDEX = Acct.ASSETINDEX