Jump to content

Edit History

Wstdhz

Wstdhz

Bonjour,

J'ai l'erreur suivante après avoir appliqué un tri par date d'inscription dans Clients -> Clients (PS 1.6)

[PrestaShopDatabaseException]

SELECT SQL_CALC_FOUND_ROWS
								a.`id_customer`, a.`email` AS `email`, a.`company` AS `company`, a.`active` AS `active`
			, 
        a.date_add, gl.name as title, (
            SELECT SUM(total_paid_real / conversion_rate)
            FROM pstw42_orders o
            WHERE o.id_customer = a.id_customer
             AND o.id_shop IN (1) 
            AND o.valid = 1
        ) as total_spent, (
            SELECT c.date_add FROM pstw42_guest g
            LEFT JOIN pstw42_connections c ON c.id_guest = g.id_guest
            WHERE g.id_customer = a.id_customer
            ORDER BY c.date_add DESC
            LIMIT 1
        ) as connect, a.firstname as firstname,a.lastname as lastname,CONCAT('_', '::::', (SELECT COUNT(*) FROM pstw42_customer_group cg WHERE cg.id_customer=a.id_customer)) as _,'fetchGroupsFromCustomerId' as __method,a.id_customer as __id,(SELECT max(amb_add2.id_address) FROM pstw42_address amb_add2 WHERE amb_add2.deleted=0 AND amb_add2.active=1 AND amb_add2.id_customer is not null AND amb_add2.id_customer != 0 AND amb_add2.id_customer = a.id_customer) as admin_customers_default_billing_address_address_id,'admin_customers_default_billing_address' as admin_customers_default_billing_address,CONCAT(amb_address.phone, ' ', amb_address.phone_mobile) as admin_customers_phones,'fetchOrdersFromCustomerId' as ___method,a.id_customer as ___id,CONCAT('__', '::::', IFNULL((SELECT COUNT(id_order) FROM pstw42_orders acoc_o INNER JOIN pstw42_order_state acoc_os ON acoc_o.current_state = acoc_os.id_order_state WHERE acoc_os.logable=1 and acoc_o.id_customer = a.id_customer),0)) as __,'fetchOrderedCartsFromCustomerId' as ____method,a.id_customer as ____id,CONCAT('___', '::::', IFNULL((SELECT COUNT(acoc_c.id_cart) FROM pstw42_cart acoc_c LEFT JOIN pstw42_orders acoc_o ON acoc_o.id_cart=acoc_c.id_cart WHERE acoc_c.id_customer = a.id_customer AND acoc_o.id_order IS NOT NULL), 0)) as ___,a.birthday as admin_customers_birthday,(FLOOR(DATEDIFF(CURDATE(), a.birthday)/365)) as admin_customers_age,(SELECT iso_code FROM pstw42_lang acl_l WHERE acl_l.id_lang=(SELECT o.id_lang FROM pstw42_orders o WHERE o.id_customer=a.id_customer ORDER BY id_order DESC LIMIT 1)) as admin_customers_language,CONCAT('____', '::::', a.note) as ____,(SELECT MAX(invoice_date) FROM pstw42_orders aclo_o INNER JOIN pstw42_order_state aclo_os ON aclo_o.current_state = aclo_os.id_order_state WHERE aclo_os.logable=1 AND aclo_o.id_customer=a.id_customer) as admin_customers_last_order,(SELECT SUM(total_products) FROM pstw42_orders acth_o INNER JOIN pstw42_order_state acth_os ON acth_o.current_state = acth_os.id_order_state WHERE acth_os.logable=1 AND acth_o.id_customer=a.id_customer) as admin_customers_total_ht,'fetchCartRulesFromCustomerId' as ______method,a.id_customer as ______id,CONCAT('_____', '::::', (SELECT COUNT(id_cart_rule) FROM pstw42_cart_rule acdl_cr WHERE acdl_cr.id_customer = a.id_customer)) as _____,CONCAT('______', '::::', (SELECT CONCAT(UCASE(LEFT(acct_ct.status, 1)), SUBSTRING(acct_ct.status, 2)) FROM pstw42_customer_thread acct_ct WHERE acct_ct.id_customer=a.id_customer ORDER BY acct_ct.id_customer_thread DESC LIMIT 1)) as ______,'AdminCustomerThreads' as _______controller,CONCAT('id_customer_thread=', (SELECT MAX(id_customer_thread) FROM pstw42_customer_thread acct_ct WHERE acct_ct.id_customer=a.id_customer) , '&viewcustomer_thread') as _______params,'AdminCustomerThreads' as _______translator, CASE        when ((count(id_order) - avg_orders) / avg_orders)  > 1 THEN 5        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN 0.6 AND 1 THEN 4        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN 0.2 AND 0.6 THEN 3        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN 0 AND 0.2 THEN 2        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_orders,CASE        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  > 1 THEN 5        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN 0.6 AND 1 THEN 4        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN 0.2 AND 0.6 THEN 3        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN 0 AND 0.2 THEN 2        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_frequency,CASE        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  > 1 THEN 5        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN 0.6 AND 1 THEN 4        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN 0.2 AND 0.6 THEN 3        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN 0 AND 0.2 THEN 2        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_total_paid,CASE        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) > 1 THEN 5        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN 0.6 AND 1 THEN 4        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN 0.2 AND 0.6 THEN 3        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN 0 AND 0.2 THEN 2        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_final
			FROM `pstw42_customer` a 
			
			LEFT JOIN pstw42_gender_lang gl ON (a.id_gender = gl.id_gender AND gl.id_lang = 1)LEFT JOIN pstw42_address amb_address ON amb_address.id_address = (SELECT max(amb_add2.id_address) FROM pstw42_address amb_add2 WHERE amb_add2.deleted=0 AND amb_add2.active=1 AND amb_add2.id_customer is not null AND amb_add2.id_customer != 0 AND amb_add2.id_customer = a.id_customer) LEFT JOIN (select        c.id_customer,            IF((o1.id_order IS NOT NULL                AND os1.logable = 1                AND os1.paid = 1), o1.id_order, NULL) as id_order,            IF((o1.id_order IS NOT NULL                AND os1.logable = 1                AND os1.paid = 1), o1.date_add, NULL) as date_add,            LEAST(datediff(NOW(), c.date_add), datediff(NOW(), date_sub(NOW(), INTERVAL 1 year))) as full_year_or_subscription,            IF((o1.id_order IS NOT NULL                AND os1.logable = 1                AND os1.paid = 1), o1.total_paid_tax_excl, NULL) as total_paid_tax_excl,            averages . *    from        pstw42_customer c    left join pstw42_orders o1 ON c.id_customer = o1.id_customer        AND o1.date_add > date_sub(NOW(), INTERVAL 1 year)    left join pstw42_order_state os1 ON os1.id_order_state = o1.current_state, (select        365 / AVG(o2.nb_orders) as avg_order_period,            AVG(o2.nb_orders) as avg_orders,            AVG(o2.recency) as avg_recency,            SUM(o2.full_year_or_subscription) / SUM(o2.nb_orders) as avg_between_orders_period,            1 / (SUM(o2.full_year_or_subscription) / SUM(o2.nb_orders)) as avg_between_orders_frequency,            SUM(o2.total_paid) / SUM(nb_orders) as avg_total_paid    from        (select        COUNT(o1.id_order) as nb_orders,            MAX(o1.date_add) as date_add_last,            LEAST(datediff(NOW(), c1.date_add), datediff(NOW(), date_sub(NOW(), INTERVAL 1 year))) as full_year_or_subscription,            MIN(o1.date_add) date_add_first,            SUM(o1.total_paid_tax_excl) as total_paid,            datediff(NOW(), MAX(o1.date_add)) as recency    from        pstw42_orders o1    inner join pstw42_order_state os1 ON os1.id_order_state = o1.current_state    inner join pstw42_customer c1 ON c1.id_customer = o1.id_customer    where        os1.logable = 1 AND os1.paid = 1            AND o1.date_add > date_sub(NOW(), INTERVAL 1 year)    GROUP BY o1.id_customer) o2) as averages) c_stats ON c_stats.id_customer=a.id_customer 
			 WHERE 1  AND a.`deleted` = 0  AND `date_add` >= '2019-08-01 0:0:0' AND `date_add` <= '2019-09-30 23:59:59' AND `date_add` >= '2019-08-01 0:0:0' AND `date_add` <= '2019-09-30 23:59:59'
			GROUP BY a.id_customer 
			 ORDER BY `date_add` DESC  LIMIT 0, 50

Je ne peux maintenant plus du tout accèder à la page Clients sans avoir cette erreur.

Une idée quelqu'un?

 

Merci.

Wstdhz

Wstdhz

Bonjour,

J'ai l'erreur suivante après avoir appliqué un tri par date d'inscription dans Clients -> Clients (PS 1.7)

[PrestaShopDatabaseException]

SELECT SQL_CALC_FOUND_ROWS
								a.`id_customer`, a.`email` AS `email`, a.`company` AS `company`, a.`active` AS `active`
			, 
        a.date_add, gl.name as title, (
            SELECT SUM(total_paid_real / conversion_rate)
            FROM pstw42_orders o
            WHERE o.id_customer = a.id_customer
             AND o.id_shop IN (1) 
            AND o.valid = 1
        ) as total_spent, (
            SELECT c.date_add FROM pstw42_guest g
            LEFT JOIN pstw42_connections c ON c.id_guest = g.id_guest
            WHERE g.id_customer = a.id_customer
            ORDER BY c.date_add DESC
            LIMIT 1
        ) as connect, a.firstname as firstname,a.lastname as lastname,CONCAT('_', '::::', (SELECT COUNT(*) FROM pstw42_customer_group cg WHERE cg.id_customer=a.id_customer)) as _,'fetchGroupsFromCustomerId' as __method,a.id_customer as __id,(SELECT max(amb_add2.id_address) FROM pstw42_address amb_add2 WHERE amb_add2.deleted=0 AND amb_add2.active=1 AND amb_add2.id_customer is not null AND amb_add2.id_customer != 0 AND amb_add2.id_customer = a.id_customer) as admin_customers_default_billing_address_address_id,'admin_customers_default_billing_address' as admin_customers_default_billing_address,CONCAT(amb_address.phone, ' ', amb_address.phone_mobile) as admin_customers_phones,'fetchOrdersFromCustomerId' as ___method,a.id_customer as ___id,CONCAT('__', '::::', IFNULL((SELECT COUNT(id_order) FROM pstw42_orders acoc_o INNER JOIN pstw42_order_state acoc_os ON acoc_o.current_state = acoc_os.id_order_state WHERE acoc_os.logable=1 and acoc_o.id_customer = a.id_customer),0)) as __,'fetchOrderedCartsFromCustomerId' as ____method,a.id_customer as ____id,CONCAT('___', '::::', IFNULL((SELECT COUNT(acoc_c.id_cart) FROM pstw42_cart acoc_c LEFT JOIN pstw42_orders acoc_o ON acoc_o.id_cart=acoc_c.id_cart WHERE acoc_c.id_customer = a.id_customer AND acoc_o.id_order IS NOT NULL), 0)) as ___,a.birthday as admin_customers_birthday,(FLOOR(DATEDIFF(CURDATE(), a.birthday)/365)) as admin_customers_age,(SELECT iso_code FROM pstw42_lang acl_l WHERE acl_l.id_lang=(SELECT o.id_lang FROM pstw42_orders o WHERE o.id_customer=a.id_customer ORDER BY id_order DESC LIMIT 1)) as admin_customers_language,CONCAT('____', '::::', a.note) as ____,(SELECT MAX(invoice_date) FROM pstw42_orders aclo_o INNER JOIN pstw42_order_state aclo_os ON aclo_o.current_state = aclo_os.id_order_state WHERE aclo_os.logable=1 AND aclo_o.id_customer=a.id_customer) as admin_customers_last_order,(SELECT SUM(total_products) FROM pstw42_orders acth_o INNER JOIN pstw42_order_state acth_os ON acth_o.current_state = acth_os.id_order_state WHERE acth_os.logable=1 AND acth_o.id_customer=a.id_customer) as admin_customers_total_ht,'fetchCartRulesFromCustomerId' as ______method,a.id_customer as ______id,CONCAT('_____', '::::', (SELECT COUNT(id_cart_rule) FROM pstw42_cart_rule acdl_cr WHERE acdl_cr.id_customer = a.id_customer)) as _____,CONCAT('______', '::::', (SELECT CONCAT(UCASE(LEFT(acct_ct.status, 1)), SUBSTRING(acct_ct.status, 2)) FROM pstw42_customer_thread acct_ct WHERE acct_ct.id_customer=a.id_customer ORDER BY acct_ct.id_customer_thread DESC LIMIT 1)) as ______,'AdminCustomerThreads' as _______controller,CONCAT('id_customer_thread=', (SELECT MAX(id_customer_thread) FROM pstw42_customer_thread acct_ct WHERE acct_ct.id_customer=a.id_customer) , '&viewcustomer_thread') as _______params,'AdminCustomerThreads' as _______translator, CASE        when ((count(id_order) - avg_orders) / avg_orders)  > 1 THEN 5        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN 0.6 AND 1 THEN 4        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN 0.2 AND 0.6 THEN 3        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN 0 AND 0.2 THEN 2        when ((count(id_order) - avg_orders) / avg_orders)  BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_orders,CASE        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  > 1 THEN 5        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN 0.6 AND 1 THEN 4        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN 0.2 AND 0.6 THEN 3        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN 0 AND 0.2 THEN 2        when ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency))  BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_frequency,CASE        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  > 1 THEN 5        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN 0.6 AND 1 THEN 4        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN 0.2 AND 0.6 THEN 3        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN 0 AND 0.2 THEN 2        when ((avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid)  BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_total_paid,CASE        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) > 1 THEN 5        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN 0.6 AND 1 THEN 4        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN 0.2 AND 0.6 THEN 3        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN 0 AND 0.2 THEN 2        when  ((LEAST(2, ((count(id_order) - avg_orders) / avg_orders))        + (IF(count(id_order) <= 1,        0,        LEAST(2, ((1 / (c_stats.full_year_or_subscription / count(c_stats.id_order)) - avg_between_orders_frequency) / (avg_between_orders_frequency)))        + LEAST(2, (avg(total_paid_tax_excl) - avg_total_paid) / avg_total_paid))))/3) BETWEEN -0.2 AND 0 THEN 1        ELSE 0    END as admin_customers_score_final
			FROM `pstw42_customer` a 
			
			LEFT JOIN pstw42_gender_lang gl ON (a.id_gender = gl.id_gender AND gl.id_lang = 1)LEFT JOIN pstw42_address amb_address ON amb_address.id_address = (SELECT max(amb_add2.id_address) FROM pstw42_address amb_add2 WHERE amb_add2.deleted=0 AND amb_add2.active=1 AND amb_add2.id_customer is not null AND amb_add2.id_customer != 0 AND amb_add2.id_customer = a.id_customer) LEFT JOIN (select        c.id_customer,            IF((o1.id_order IS NOT NULL                AND os1.logable = 1                AND os1.paid = 1), o1.id_order, NULL) as id_order,            IF((o1.id_order IS NOT NULL                AND os1.logable = 1                AND os1.paid = 1), o1.date_add, NULL) as date_add,            LEAST(datediff(NOW(), c.date_add), datediff(NOW(), date_sub(NOW(), INTERVAL 1 year))) as full_year_or_subscription,            IF((o1.id_order IS NOT NULL                AND os1.logable = 1                AND os1.paid = 1), o1.total_paid_tax_excl, NULL) as total_paid_tax_excl,            averages . *    from        pstw42_customer c    left join pstw42_orders o1 ON c.id_customer = o1.id_customer        AND o1.date_add > date_sub(NOW(), INTERVAL 1 year)    left join pstw42_order_state os1 ON os1.id_order_state = o1.current_state, (select        365 / AVG(o2.nb_orders) as avg_order_period,            AVG(o2.nb_orders) as avg_orders,            AVG(o2.recency) as avg_recency,            SUM(o2.full_year_or_subscription) / SUM(o2.nb_orders) as avg_between_orders_period,            1 / (SUM(o2.full_year_or_subscription) / SUM(o2.nb_orders)) as avg_between_orders_frequency,            SUM(o2.total_paid) / SUM(nb_orders) as avg_total_paid    from        (select        COUNT(o1.id_order) as nb_orders,            MAX(o1.date_add) as date_add_last,            LEAST(datediff(NOW(), c1.date_add), datediff(NOW(), date_sub(NOW(), INTERVAL 1 year))) as full_year_or_subscription,            MIN(o1.date_add) date_add_first,            SUM(o1.total_paid_tax_excl) as total_paid,            datediff(NOW(), MAX(o1.date_add)) as recency    from        pstw42_orders o1    inner join pstw42_order_state os1 ON os1.id_order_state = o1.current_state    inner join pstw42_customer c1 ON c1.id_customer = o1.id_customer    where        os1.logable = 1 AND os1.paid = 1            AND o1.date_add > date_sub(NOW(), INTERVAL 1 year)    GROUP BY o1.id_customer) o2) as averages) c_stats ON c_stats.id_customer=a.id_customer 
			 WHERE 1  AND a.`deleted` = 0  AND `date_add` >= '2019-08-01 0:0:0' AND `date_add` <= '2019-09-30 23:59:59' AND `date_add` >= '2019-08-01 0:0:0' AND `date_add` <= '2019-09-30 23:59:59'
			GROUP BY a.id_customer 
			 ORDER BY `date_add` DESC  LIMIT 0, 50

Je ne peux maintenant plus du tout accèder à la page Clients sans avoir cette erreur.

Une idée quelqu'un?

 

Merci.

×
×
  • Create New...