Suppose there is a requirement to fetch all accounts record which don't have any contacts,
how will we do it?
We can fetch account with their corresponding contact record in a in line query.
for example
list<Account> listOfAccounts = [SELECT id, Name,
(SELECT id,name FROM Contacts)
FROM Accounts];
list<Account> accountListwithoutContact = new list<Account>();
for(Account act :listOfAccounts ){
if(act .Contacts !=null && act .Contacts.size() !=0){
accountListwithoutContact.add(act) ;
}
}
accountListwithoutContact list will contain all account which dont have any contacts.
Second approach would be using NOT IN keyword.
list<Account> listOfAccounts = [SELECT id, Name
FROM Account
WHERE id NOT IN (SELECT AccountId FROM Contact)];
Now this is the final list which contains all accounts which don't have any contact.
how will we do it?
We can fetch account with their corresponding contact record in a in line query.
for example
list<Account> listOfAccounts = [SELECT id, Name,
(SELECT id,name FROM Contacts)
FROM Accounts];
list<Account> accountListwithoutContact = new list<Account>();
for(Account act :listOfAccounts ){
if(act .Contacts !=null && act .Contacts.size() !=0){
accountListwithoutContact.add(act) ;
}
}
accountListwithoutContact list will contain all account which dont have any contacts.
Second approach would be using NOT IN keyword.
list<Account> listOfAccounts = [SELECT id, Name
FROM Account
WHERE id NOT IN (SELECT AccountId FROM Contact)];
Now this is the final list which contains all accounts which don't have any contact.
No comments:
Post a Comment