SOQL-Abfrage mit Unterabfrage

8

Ich habe Probleme, die gewünschten Ergebnisse aus einer Salesforce / Apex / SOQL-Abfrage zu erhalten.

Ich möchte: Eine Liste von Kontaktobjekten, die nur Kontakte enthalten, die CampaignMembers einer Reihe von Kampagnen sind. und sie sollten die Daten von diesem Kampagnenmitglied leicht zugänglich haben. (Mein endgültiges Ziel ist eine VF-Seite mit einer Liste aller Kontakte, die mit einer dieser Kampagnen verbunden sind, mit einem Raster, das ihren Status für jede Kampagne angibt.)

Diese funktionieren:

%Vor%

Hier ist mein Problem:

%Vor%
  1. Warum werden keine CampaignMember-Objekte von der Unterabfrage zurückgegeben?
  2. Warum wird die Kontaktliste nicht gefiltert? (Nun, offensichtlich b / c gibt es keine WHERE-Klausel, aber welche WHERE-Klausel bietet, was ich will?)

Ich weiß, dass ich dies tun kann, indem ich die CampaignMember-Abfrage selbst durchführe und durchläuft, um eine Kontaktabfrage vorzubereiten, aber das scheint eine Menge zusätzlicher Verarbeitung zu sein, wenn eine Unterabfrage funktionieren sollte.

Danke!

Aktualisieren

Die CampaignMember-Objekte werden jetzt angezeigt - seltsamerweise muss ich einen kleinen Tippfehler behoben haben, ohne es zu bemerken (und ja, sie geben mehrere Spalten zurück, und das scheint in Ordnung zu sein).

Ich kann immer noch nicht herausfinden, wie man die Kontaktabfrage filtert, obwohl ...

    
Benj 26.10.2010, 19:29
quelle

1 Antwort

18

Sie könnten einen Semi-Join für Kontakte verwenden, um die Kontakte nach dem gewünschten Satz zu filtern, etwa so

%Vor%

Eine andere Option wäre, stattdessen von campaignMeber zu fahren.

%Vor%     
superfell 26.10.2010, 21:40
quelle

Tags und Links