@@ -212,14 +212,20 @@ public static function getSyncIssuesRequest() : AbstractQuery {
212
212
'HAVING ' => new QueryExpression ("COUNT(` $ itemTicketTable`.`items_id`) = 0 " )
213
213
];
214
214
215
- // assistance requests having only one generated ticket (use query2)
216
- $ query3 = $ query2 ;
217
- // replace LEFT JOIN with INNER JOIN to exclude tickets not linked to a Formanswer object
218
- $ query3 ['INNER JOIN ' ][$ itemTicketTable ] = $ query3 ['LEFT JOIN ' ][$ itemTicketTable ];
219
- unset($ query3 ['LEFT JOIN ' ][$ itemTicketTable ]);
220
- // Only 1 relation to a Formanswer object
221
- $ query3 ['GROUPBY ' ] = ["$ itemTicketTable.items_id " ];
222
- $ query3 ['HAVING ' ] = new QueryExpression ("COUNT(` $ itemTicketTable`.`items_id`) = 1 " );
215
+ // assistance requests having only one generated ticket (reuse query2)
216
+ $ query3 = [
217
+ 'SELECT ' => $ query2 ['SELECT ' ],
218
+ 'FROM ' => $ query2 ['FROM ' ],
219
+ 'INNER JOIN ' => [$ itemTicketTable => $ query2 ['LEFT JOIN ' ][$ itemTicketTable ]],
220
+ 'LEFT JOIN ' => [
221
+ $ query2 ['LEFT JOIN ' ][0 ], // This is the TABLE => [...] subquery
222
+ $ ticketValidationTable => $ query2 ['LEFT JOIN ' ][$ ticketValidationTable ],
223
+ ],
224
+ 'WHERE ' => $ query2 ['WHERE ' ],
225
+ 'GROUPBY ' => ["$ itemTicketTable.items_id " ],
226
+ // Only 1 relation to a Formanswer object
227
+ 'HAVING ' => new QueryExpression ("COUNT(` $ itemTicketTable`.`items_id`) = 1 " ),
228
+ ];
223
229
224
230
// Union of the 3 previous queries
225
231
$ union = new QueryUnion ([
0 commit comments