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.
.png.022b5452a8f28f552bc9430097a16da2.png)