From e9c6b23aa598c1640f424e21c6476b3de07b52e0 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Fri, 18 Nov 2022 17:42:25 +0100 Subject: [PATCH] Ottimizzazione query vista movimenti --- update/2_4_38.sql | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/update/2_4_38.sql b/update/2_4_38.sql index 6e43ef76b..b47f008b0 100644 --- a/update/2_4_38.sql +++ b/update/2_4_38.sql @@ -259,3 +259,25 @@ HAVING ORDER BY `matricola`" WHERE `name` = 'Impianti'; + +-- Ottimizzazione query vista Movimenti +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'zz_modules.id' WHERE `zz_modules`.`name` = 'Movimenti' AND `zz_views`.`name` = '_link_module_'; +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = "IF(`mg_movimenti`.`reference_type` = 'Modules\\\\Fatture\\\\Fattura', fattura.nomi, IF(`mg_movimenti`.`reference_type` = 'Modules\\\\DDT\\\\DDT', ddt.nomi, IF(`mg_movimenti`.`reference_type` = 'Modules\\\\Interventi\\\\Intervento', intervento.nomi, '')))" WHERE `zz_modules`.`name` = 'Movimenti' AND `zz_views`.`name` = 'Anagrafica'; +UPDATE `zz_modules` SET `options` = "SELECT + |select| +FROM + `mg_movimenti` +INNER JOIN `mg_articoli` ON `mg_articoli`.id = `mg_movimenti`.`idarticolo` +LEFT JOIN `an_sedi` ON `mg_movimenti`.`idsede` = `an_sedi`.`id` +LEFT JOIN `zz_modules` ON `zz_modules`.`name` = 'Articoli' +LEFT JOIN (SELECT `an_anagrafiche`.`idanagrafica`, `co_documenti`.`id`, `ragione_sociale` AS nomi FROM `co_documenti` LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` GROUP BY `idanagrafica`, `co_documenti`.`id`) AS fattura ON `fattura`.`id`= `mg_movimenti`.`reference_id` +LEFT JOIN (SELECT `an_anagrafiche`.`idanagrafica`, `dt_ddt`.`id`, `ragione_sociale` AS nomi FROM `dt_ddt` LEFT JOIN `an_anagrafiche` ON `dt_ddt`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` GROUP BY `idanagrafica`, `dt_ddt`.`id`) AS ddt ON `ddt`.`id`= `mg_movimenti`.`reference_id` +LEFT JOIN (SELECT `an_anagrafiche`.`idanagrafica`, `in_interventi`.`id`, `ragione_sociale` AS nomi FROM `in_interventi` LEFT JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` GROUP BY `idanagrafica`, `in_interventi`.`id`) AS intervento ON `intervento`.`id`= `mg_movimenti`.`reference_id` +WHERE + 1=1 AND mg_articoli.deleted_at IS NULL +HAVING + 2=2 +ORDER BY + mg_movimenti.data DESC, + mg_movimenti.created_at DESC" WHERE `name` = 'Movimenti'; +