DUVIDA COMANDO SQL
preciso dar um update na tabela grade, no campo a vista com o campo prazo - 10%
update grade set vista = round(( (prazo * 90) / 100),2)
até ai blz, só q a tabela grade é linkada com a tabela produtos pelo código, e na tabela produtos tem um campo empresa, e preciso filtrar os produtos só de uma empresa..tipo:
where grade.codpro = produtos.codigo and produtos.empresa=1
mas ai não da....
update grade set vista = round(( (prazo * 90) / 100),2)
até ai blz, só q a tabela grade é linkada com a tabela produtos pelo código, e na tabela produtos tem um campo empresa, e preciso filtrar os produtos só de uma empresa..tipo:
where grade.codpro = produtos.codigo and produtos.empresa=1
mas ai não da....
Use uma sub-query
como assim ?, eu testei e deu certo com um recordset, ai consigo filtrar e dar update nos registros em um loop, porém o comando é remoto e com rs, demora pra caramba
o update ficaria mais ou menos assim
UPDATE grade SET grade.vista = round(( (prazo * 90) / 100),2) INNER JOIN produtos ON grade.codpro = produtos.codigo and produtos.empresa=1
Sintaxe incorreta próxima à palavra-chave [ô]INNER[ô].
qual é o banco de dados?
sql 2008 r2 express
tenta
UPDATE grade SET grade.vista = round(( (prazo * 90) / 100),2) FROM produtos INNER JOIN grade ON grade.codpro = produtos.codigo WHERE produtos.empresa=1
Nome da coluna [ô]prazo[ô] ambÃguo....acho q vou colocar um campo empresa na tabela grade tbm...vai facilicar...por query da certo, mas como é remoto, fica muito lento....
como ficou a sua query?
uma dica crie uma procedure no banco e ficara mais rápido, primeiro veja como funciona a query depois crie uma procedure, desta maneira ficarámais rápido pois o processamento ficara por conta do banco.
uma dica crie uma procedure no banco e ficara mais rápido, primeiro veja como funciona a query depois crie uma procedure, desta maneira ficarámais rápido pois o processamento ficara por conta do banco.
do jeito q vc passou mesmo, vou aproveitar o fm do expediente, vou acessar o server do cliente, fazer um backup e rodar direto la com recordset...vlw pela ajuda..
Tópico encerrado , respostas não são mais permitidas