DUVIDA COMANDO SQL

FUTURA 06/08/2013 17:13:33
#427097
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....
KERPLUNK 06/08/2013 17:24:21
#427098
Use uma sub-query
FUTURA 06/08/2013 17:42:00
#427100
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
MARCELO.TREZE 06/08/2013 18:03:08
#427103
Resposta escolhida
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
FUTURA 06/08/2013 18:11:30
#427104
Sintaxe incorreta próxima à palavra-chave [ô]INNER[ô].
MARCELO.TREZE 06/08/2013 18:20:59
#427105
qual é o banco de dados?
FUTURA 06/08/2013 18:21:37
#427106
sql 2008 r2 express
MARCELO.TREZE 06/08/2013 18:25:01
#427107
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

FUTURA 06/08/2013 18:31:09
#427109
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....
MARCELO.TREZE 06/08/2013 18:34:20
#427110
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.
FUTURA 06/08/2013 18:36:29
#427111
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..
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas