leooizepi 1 Denunciar post Postado Fevereiro 4, 2010 e ae galera... bom dia! to tentando fazer um update de uma tabela X, mais eu tenho q fazer uma select da mesma tabela X para atualizar! UPDATE st_curso SET CUR_NOME_TURMA = CONCAT_WS( ' ', 'Turma', ( SELECT COUNT(*) as QTDE FROM st_curso c2 WHERE c2.CUR_COD_TREINAMENTO = '".$cod_treinamento."' GROUP BY c2.CUR_COD_TREINAMENTO )+1 ) WHERE CUR_COD = '".$cod_curso."' e da o seguinte erro: You can't specify target table 'st_curso' for update in FROM clause como solucionar? valeu.. abraços!! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 4, 2010 Nao precisa desse c2 na frente do nome da tabela no FROM: SELECT COUNT(*) as QTDE FROM st_curso WHERE CUR_COD_TREINAMENTO = '".$cod_treinamento."' GROUP BY CUR_COD_TREINAMENTO Compartilhar este post Link para o post Compartilhar em outros sites
leooizepi 1 Denunciar post Postado Fevereiro 4, 2010 Nao precisa desse c2 na frente do nome da tabela no FROM: SELECT COUNT(*) as QTDE FROM st_curso WHERE CUR_COD_TREINAMENTO = '".$cod_treinamento."' GROUP BY CUR_COD_TREINAMENTO Coloquei como disse, mais continua dando o mesmo erro! Compartilhar este post Link para o post Compartilhar em outros sites
Dee 0 Denunciar post Postado Fevereiro 4, 2010 Uma pergunta. O que eh esse CONCAT_WS ? UPDATE st_curso SET CUR_NOME_TURMA = ( ' ', 'Turma', ( SELECT COUNT(*) as QTDE FROM st_curso WHERE CUR_COD_TREINAMENTO = '".$cod_treinamento."' GROUP BY cCUR_COD_TREINAMENTO )+1 ) WHERE CUR_COD = '".$cod_curso."' E outra, aqui > COUNT(*) as QTDE você nao pode por *, você tem que po só o campo que você precis do valor. Compartilhar este post Link para o post Compartilhar em outros sites
leooizepi 1 Denunciar post Postado Fevereiro 4, 2010 Como nao pode? executando essa consulta que tem o COUNT funciona normalmente, e CONCAT_WS, primeiro eu uso o separador e depois as strings que eu quero que concatena! Compartilhar este post Link para o post Compartilhar em outros sites