function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Padmini S 26Padmini S 26 

SOQL between User and WorkOrder Standard Objects

I am trying to display the Some fields from WorkOrder and some fields from User objects. Kindly help me how to write the SOQL query on this objects. I have tried with below query.

Select id, Name , ( Select WorkOrderNumber from WorkOrder) from User. 

It is throwing the error. Kindly help me on this issue.

Thanks in Advance.
JethaJetha
Hi Padmini,

Do you have any direct relationship between WorkOrder and User record apart from standard Ower field??
Padmini S 26Padmini S 26
Hi Jetha,

No, I don't have any direct relationship between WorkOrder and User. I have only Owner field on WorkOrder.
JethaJetha
Hi Padmini, 

In that case you can not use reltionship query because the reaplationship between your workorder and user is special kind of.

User-added image

Here is relation between any object to their owner field :
User-added image

in second image, we are not having Child Relationship Name field and this causes problem when we try to perform SOQL.

Workaround :
 
List<WorkOrder> workOrd = [SELECT id, owenerId FROM WorkOrder];

Map<Id, List<WorkOrder>>  owenerIdWorkOrder = new Map<Id, List<WorkOrder>>();

for (WorkOrder wo: workOrd )
{
	List<WorkOrder> wk = new  List<WorkOrder>();     
	if (owenerIdWorkOrder.get(wo.OwnerId) != null)
	{
		wk = owenerIdWorkOrder.get(wk.OwnerId);
	}
	
	wk.add(wo);
	owenerIdWorkOrder.put(w0.OwnerId, wk);
}

Now we have map in which, each user Id is mapped with there list of workOrder record.