Ir para conteúdo
Fórum Script Brasil
  • 0

Update com join


Rivando

Pergunta

Bom dia pessoal estou tendo dificuldade em realizar um update um pouco mais avançado.

Tenho 3 tabelas 
glpi_tickets (referentes a chamados de TI)
glpi_users (referente aos usuários)
glpi_tickets_users (referente a relação entre glpi_tickets(chamados) e glpi_users(usuários) )

Acontece que tenho 300 chamados sem locations_id e gostaria realizar um update para atualizar esses chamados.
Levando a locations_id do usuario que abriu o chamado

Tentei de duas formas mas não consegui 
Da erro de sintaxe 

//primeira tentativa com join

update glpi_tickets t set locations_id = (select locations_id
from glpi_users us 
join glpi_tickets_users tu on tu.users_id = us.id
where tu.type= 2 and t.id = tu.users_id and us.locations_id is not null)
where t.id = tu.tickets_id

//segunda tentativa sem join

update glpi_tickets t set locations_id = glpi_users.locations_id 
FROM glpi_tickets_users, glpi_users
WHERE glpi_tickets_users.users_id = glpi_users.id 
AND glpi_tickets.id = glpi_tickets_users.tickets_id 
AND glpi_tickets.type =2 
AND glpi_users.locations_id is not null
 

Se puderem me mostrar um exemplo 

eu olho para esse código e não e pela pouca experiencia que tive com o Postgres, não consigo identificar um erro

Obs: essas tabelas são do sistema de chamados GLPI

Desde já meu muito obrigado

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui da seguinte forma

update glpi_tickets 

join glpi_tickets_users on glpi_tickets_users.tickets_id = glpi_tickets.id
join glpi_users on glpi_users.id = glpi_tickets_users.users_id
set glpi_tickets.locations_id= glpi_users.locations_id

where glpi_users.locations_id <> 0
and glpi_tickets_users.type = 2

 

Mas o comando não realizou nenhuma alteração 

Agora pode ser a logica que esta errada

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...