2016-09-11 2 views
0

Je suis en train de faire un « Join » pour calculer ce membre de l'équipe est payé en fonction de l'argent que nous recevonscolonnes manquantes: Salesforce SOQL multiples requête de jointure entre deux objets enfants (membres de l'équipe et paiement)

Sur. mon opportunité, j'ai deux listes connexes, à la fois Maître/Enfant 1) Membre de l'équipe - avec les personnes qui ont travaillé sur l'opportunité et la commission qu'ils devraient recevoir, ils sont payés quand nous sommes payés 2) Paiements - avec les paiements nous recevons

Je dois exécuter une requête de jointure pour correspondre à chaque paiement que nous recevons dans une période pour les membres de l'équipe liés de la même opportunité

Cette requête semble fonctionner

SELECT Amount__c, Method__c, Opportunity__c ,OwnerId, User__c, RoleCode__c, Name FROM Sales_Team__c where Opportunity__c IN (SELECT Opportunity__c FROM Payment__c) LIMIT 10 

Cependant, je dois voir le PAYMENT_AMOUNT sur l'objet de paiement si je l'ai ajouté à la deuxième « select »

SELECT Amount__c, Method__c, Opportunity__c ,OwnerId, User__c, RoleCode__c, Name FROM Sales_Team__c where Opportunity__c IN (SELECT Opportunity__c FROM Payment__c) LIMIT 10 

Maintenant, j'obtiens cette erreur

There has been an error in the SOQL query: 
MALFORMED_QUERY: 
Opportunity__c IN (SELECT Opportunity__c, Payment_Amount__c FROM Payment__c) 
            ^
ERROR at Row:1:Column:148 
unexpected token: , 

Comment puis-je p Utilisez-vous des colonnes supplémentaires de ma table Paiements?

Toute aide serait vraiment appréciée. Ian

Répondre

0

Lorsque vous recherchez Opportunity__c dans la clause where, pourquoi ajoutez-vous Payment_Amount__c dans la requête.

SELECT Opportunity__c, Payment_Amount__c FROM Payment__c 

Cela devrait bien à moins d'une faute de frappe dans votre requête

SELECT Amount__c, Method__c, Opportunity__c ,OwnerId, User__c, RoleCode__c, Name FROM Sales_Team__c where Opportunity__c IN (SELECT Opportunity__c FROM Payment__c) LIMIT 10 
0

Je pense que vous voulez dire

SELECT Amount__c, Method__c, Opportunity__c ,OwnerId, User__c, RoleCode__c, Name,(SELECT Opportunity__c, Payment_Amount__c FROM Payment__c) FROM Sales_Team__c where Opportunity__c IN (SELECT Opportunity__c FROM Payment__c) LIMIT 10