2011-11-30 79 views
1

我試圖在對象上寫一個查詢,機會,這個對象有一個子對象引號。Salesforce SOQL查詢訪問WHERE語句中的子字段

在引用中有一個名爲Order_Ready的字段。

我需要做的是過濾所有已批准報價的機會(Order_Ready__c == true)。

這是我一直在試圖獲得工作機會號WHERE Opportunity.Quotes.Order_Ready__c =真

我已經嘗試了一些變化查詢,

選擇ID,名稱(選擇Order_Ready__c FROM行情)這一點,

選擇ID,名稱(選擇Order_Ready__c FROM行情)FROM WHERE機會= Quotes.Order_Ready__c真正

選擇ID,名稱(選擇Order_Ready__c FROM行情)FROM WHERE機會Order_Ready__c = true

我不得不承認,我不是最強大的SQL/SOQL。任何洞察我的錯誤或誤解可能是什麼?

謝謝!

+0

你使用標準的Quote對象嗎? –

+0

帶孩子的標準機會對象行情 –

+0

好的,我更新了我的答案。 –

回答

4
SELECT Id, Name FROM Opportunity WHERE Id IN 
(Select OpportunityId FROM Quote WHERE Order_Ready__c = true) 
+0

謝謝一堆!當我執行谷歌搜索訪問WHERE子句中的子對象字段時,我偶然發現了這一點(儘管爲了我的目的而修改),SELECT Id,Name(SELECT Order_Ready__c FROM引用)FROM Opportunity WHERE Opportunity.Quotes.Order_Ready__c = true, Explorer不喜歡這樣,在什麼情況下這會工作?從我發現的例子看來,邏輯**似乎是正確的。 –