Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Updeta con select

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?
Responder Con Cita
  #2  
Antiguo 01-06-2011
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Poder: 22
abelg Va por buen camino
Hola creo que en updates no puedes definir alias y la cosa quedaría asi:
Código SQL [-]
UPDATE ps_orders
SET 
tienda_order =  
CONCAT( 
        id_customer,
        '-',          
        (SELECT count( d.id_customer ) + 1 
         FROM ps_orders d          
         WHERE d.id_customer = ps_orders.id_customer AND d.id_order < ps_orders.id_order)
) 
WHERE id_order =901
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Utilizar un valor de un Select dentro de otro Select gluglu SQL 6 15-04-2011 14:22:36
updeta a la base pronto7 Conexión con bases de datos 5 07-05-2010 21:30:37
Problema conuna consulta select...not in (select ...) VRO Firebird e Interbase 2 11-08-2005 08:56:35
5 select de 5 tablas diferentes en un select solo sakuragi SQL 6 15-06-2005 18:57:06
Select anidado: Select from (select....) Malon SQL 2 14-10-2004 14:01:24


La franja horaria es GMT +2. Ahora son las 13:16:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi