Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Ribeiro_28417

inner Join

Recommended Posts

Pessoal tenho 2 tabelas no banco segue elas abaixo:

 

 

 

CREATE TABLE IF NOT EXISTS `atendimentos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ordem` varchar(10) NOT NULL,
`hora_inicio` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`status` varchar(45) NOT NULL DEFAULT 'ABERTO',
`usuarios_operador_matricula` varchar(45) NOT NULL,
`operador_perfil` varchar(4) NOT NULL,
`tipo_manobra` varchar(45) DEFAULT NULL,
`hora_fim` timestamp NULL DEFAULT NULL,
`descricao_motivo` varchar(45) DEFAULT NULL,
`atendimento_acao` varchar(45) DEFAULT NULL,
`problema_solucionado` varchar(3) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_atendimentos_usuarios_idx` (`usuarios_operador_matricula`),
CONSTRAINT `fk_atendimentos_usuarios` FOREIGN KEY (`usuarios_operador_matricula`) REFERENCES `usuarios` (`operador_matricula`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=196 DEFAULT CHARSET=utf8;
e
CREATE TABLE IF NOT EXISTS `usuarios` (
`operador_matricula` varchar(8) NOT NULL,
`operador_nome` varchar(45) NOT NULL,
`operador_senha` varchar(45) NOT NULL,
PRIMARY KEY (`operador_matricula`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

 

no grid a coluna usuarios_operador_matricula` varchar(45) NOT NULL, mostra a matricula pelo fato dela ser unica e uma chave primaria, porem preciso que ela mostre o nome do operador e não matricula, dei uma olhada no manual do mysql e fiz alguns testes porem retorna um valor nulo alguem poderia me ajudar?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Alaerte

 

Fiz o teste ajudou bastante mas quando crio as regras ele traz tudo. O meu select no grid está assim

 

 

SELECT
id,
ordem,
hora_inicio,
status,
usuarios_operador_matricula,
operador_perfil,
tipo_manobra,
hora_fim,
descricao_motivo,
atendimento_acao,
problema_solucionado,
(timediff(current_timestamp,hora_inicio))
FROM atendimentos
WHERE (status = 'aberto')
ORDER BY id DESC
o que preciso é apenas que a coluna usuarios_operador_matricula, no grid mostre o operador_nome....
Estou mexendo aqui com base no que você me passou, caso consiga antes informo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido,

 

montei a minha query assim

 

 

SELECT
A.id,
operador_nome,
A.operador_perfil,
(timediff(current_timestamp,hora_inicio)),
A.ordem,
A.hora_inicio,
A.hora_fim,
A.tipo_manobra,
A.atendimento_acao,
A.problema_solucionado,
A.descricao_motivo,
A.status,
A.usuarios_operador_matricula
FROM atendimentos AS A
INNER JOIN usuarios AS U ON A.usuarios_operador_matricula = U.operador_matricula
WHERE (A.status = 'ABERTO')
ORDER BY A.id DESC
Valeu Alaerte

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.