I am getting error 'No such column 'AccountNumber' on entity 'Name' when i tried to execute the following query,

select parent.AccountNumber, parentid, subscriberid from EntitySubscription where parent.type='account'

How to get AccountNumber from this query? Please suggest.


You need to use TYPEOF to get at this data (currently only a developer preview). If you need this for production code, use two queries instead of one.

select id, typeof parentid when account then parent.accountnumber end from entitysubscription where parent.type = 'account'
  • when i try to use the accountnumber using this statement "mapES.put(es.parent.AccountNumber,es)" i am getting an error "Invalid field AccountNumber for SObject Name". Any suggestions please. I am using developer edition. – Bforce Sep 11 '14 at 17:03
  • 1
    That's because Parent is an SObject, so you'd have to: mapES.put((String)es.parent.get(Account.AccountNumber), es) (approximately). – sfdcfox Sep 11 '14 at 17:06
  • This is a fantastic, awesome solution @sfdcfox. Thanks again. – Bforce Sep 11 '14 at 17:08
  • hi @sfdcfox, i got run time error now System.SObjectException: SObject row was retrieved via SOQL without querying the requested field: Account.AccountNumber. Any thoughts please? – Bforce Sep 11 '14 at 18:40
  • Odd. I'll try it out. – sfdcfox Sep 11 '14 at 18:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.