Hola a todos... hoy una pregunta para los entendidos en MySQL
Tengo este UPDATE
Código SQL
[-]UPDATE ps_orders c
SET
c.tienda_order =
CONCAT(
c.id_customer,
'-',
(SELECT count( d.id_customer ) + 1
FROM ps_orders d
WHERE d.id_customer = c.id_customer AND d.id_order < c.id_order)
)
WHERE c.id_order =901
que me da el error
Cita:
|
#1093 - You can't specify target table 'c' for update in FROM clause
|
Lo que quiero es que el campo tienda_order tenga un valor que es el codigo de cliente, un guión y la cantidad de pedidos que ha hecho.
Código:
id_customer, count(*), tienda_order
1 , 1 , 1-1
1 , 2 , 1-2
2 , 1 , 2-1
1 , 3 , 1-3
...
Con Firebird lo puedo hacer, pero MySQL me está dando este mensaje.
¿Hay alguna otra forma de hacerlo?