Bonjour à tous,

Alors voila je dois réécrire des requêtes POSTGRE en MYSQL, après modification en MYSQL celle-ci tourne dans le vide sans me retourner de résultat.

Il y a deux BDD clients ( 2 millions d'entrées ) et tickets ( 200 000 entrées )

Voici la requête en POSTGRE

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT 1 FROM clients AS Clients, tickets AS Tickets 
 
WHERE Tickets.client_id = Clients.client_id 
 
AND CASE WHEN is_cb THEN 'zzz_CB-' ELSE '' END || Tickets.label = CASE WHEN is_cb THEN 'zzz_CB-' ELSE '' END || Clients.label 
 
AND Clients.cat = '......' 
 
HAVING to_char( MIN(Clients.created_at), 'YYYYMMDDHH24') = to_char(Tickets.date, 'YYYYMMDDHH24')
voici la requête en MYSQL

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT 1 FROM clients AS Clients, tickets AS Tickets 
 
WHERE Tickets.client_id = Clients.client_id AND 
 
CASE WHEN is_cb = '0' THEN 'zzz_CB-' ELSE CONCAT('',Tickets.label) END = CASE WHEN is_cb = '0' THEN 'zzz_CB-' ELSE CONCAT('',Clients.label) END 
 
AND Clients.cat = '......'
 
HAVING DATE_FORMAT( MIN(Clients.created_at) , 'YYYYMMDDHH') = DATE_FORMAT( 'Tickets.date' , 'YYYYMMDDHH')
"created_at" et "date" sont de type DATETIME avec des valeurs comme "2011-01-11 23:31:59" et cette requête est imbriqué dans une fonction EXISTS () d'une autre qui elle ne pose pas de problème.

Pouvez m'aider à trouver pourquoi la requête tourne en boucle, je suis aussi preneur d'éventuelle modification de requête.

Merci.