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
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 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')
"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.
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')
Pouvez m'aider à trouver pourquoi la requête tourne en boucle, je suis aussi preneur d'éventuelle modification de requête.
Merci.
Partager