表达式不能是语句-Salesforce

表达式不能是语句-Salesforce,salesforce,apex-code,apex,soql,Salesforce,Apex Code,Apex,Soql,下面的代码工作正常。执行代码时,我在调试日志中看到的Id变量是正确的18位Id List<Opportunity> psgPrimaryProjectIDToDelete = [Select pse__Primary_Project__c from Opportunity]; System.debug('***************PSG Primary Project Name is ' + psgPrimaryProjectIDToDelete[0]);

下面的代码工作正常。执行代码时,我在调试日志中看到的Id变量是正确的18位Id

    List<Opportunity> psgPrimaryProjectIDToDelete = [Select pse__Primary_Project__c from Opportunity];
    System.debug('***************PSG Primary Project Name is ' + psgPrimaryProjectIDToDelete[0]);
    Id myId = psgPrimaryProjectIDToDelete[0].id;
        System.debug('***********myId = ' + myId);
或者用这个:

[Select Id from PSG_Vendor_Order__c where PSG_Project__c = :myId];
Set<Id> s = new Set<Id>();
s.add(myId);
[Select Id from PSG_Vendor_Order__c where PSG_Project__c in :s;  
Set s=new Set();
s、 添加(myId);
[从PSG_供应商_订单___c中选择Id,其中PSG_项目___c in:s;

错误出现在select语句中,但我不知道为什么……有人能帮忙吗?

您需要实际创建一个新列表,但返回的列表不正确

List<PSG_Vendor_Order__c> psgVendorOrder = new List<PSG_Vendor_Order__c>([Select Id from PSG_Vendor_Order__c where PSG_Project__c = :myId]);
List psgvendorder=新列表([从PSG_供应商_订单__c中选择Id,其中PSG_项目__c=:myId]);

Thank you@ericsh!对我的问题的回答如此简单。我不敢相信我没有考虑将结果分配给变量……我想相信错误的措辞是我忽略了这一点的原因!我感谢你的快速回复!