@@ -212,14 +212,20 @@ public static function getSyncIssuesRequest() : AbstractQuery {
212212 'HAVING ' => new QueryExpression ("COUNT(` $ itemTicketTable`.`items_id`) = 0 " )
213213 ];
214214
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+ ];
223229
224230 // Union of the 3 previous queries
225231 $ union = new QueryUnion ([
0 commit comments