This query
select DOC_NO from SN where DOC_TYPE='INV' and SN_NO='grn1234'
is returning more than one row, so when you say
WHERE INV_NO = (....)
it can't compare INV_NO to multiple things, a sub query can only return one item. Or the issue could be that your outer sub-query is returning more than one row. We can't access your data so we don't know which, you'll need to test. We don't know your logic either so we can't tell you what the fix is. You either need to fix your data so that these sub-queries are unique, or if the subquery is returning more than one row but the values are the same you can add TOP 1 to reduce the data to one row
select TOP 1 DOC_NO from SN where DOC_TYPE='INV' and SN_NO='grn1234'