montano 0 Denunciar post Postado Novembro 5, 2009 Boa tarde, Gostaria de fazer um update atualizando uma tabela com dados de uma nova. Tenho que atualizar a acao na nova como estava na antiga, assim como situacao tambem. Estou fazendo assim: UPDATE planos100_pme as pme SET pme.situacao IN (SELECT old.situacao FROM tb_plano100pme as old WHERE pme.fantasia = old.fantasia) ERRO: #1064 - Você tem um erro de sintaxe no seu SQL próximo a 'IN (SELECT old.situacao FROM tb_plano100pme as old WHERE pme.fantasia = ol' na linha 3 Tem como fazer isso direto no sql ou teria que fazer alguma funçao com php e etc? obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Novembro 17, 2009 o que são comuns as duas tabelas o in não é adequado a essa situação mas explique melhor o contexto Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 18, 2009 Oque que você precisa fazer? já utilizei o IN assim: UPDATE planos100_pme SET planos100_pme.situacao = valor WHERE campo IN (...) Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Novembro 20, 2009 Não se usa IN ali, você tem que usar = mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
montano 0 Denunciar post Postado Novembro 23, 2009 oque eu queria fazer era: Essa condição, porem cada campo pertence a uma tabela, e eu preciso pegar um outro campo da tabela 'old.' e substituir no campo da '.pme' onde a condição seja igual essa debaixo. pme.fantasia = old.fantasia Compartilhar este post Link para o post Compartilhar em outros sites