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
Pergunta
Rivando
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
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.