shows results in php

-2

I have 2 tables in the bank one is called and the other is the technical . The Technical table has the id , nome and endereço fields. How to show the call to a specific technician by the code?

Ex: Only Technician 1 can see THE VISIT when it is informed in the called database the id of it, without being able to see the others called.

    
asked by anonymous 10.09.2018 / 15:30

1 answer

0

Hi, Kleyton, you need to join the Technician table with the Called table.

I've set up a simple schema for understanding:

/* Tabela Tecnico */
CREATE TABLE TECNICO (
  COD_TECNICO int,
  TXT_NOME varchar(200),
  TXT_ENDERECO varchar(200)
);

/* Tabela Chamado */
CREATE TABLE CHAMADO(
  COD_CHAMADO int,
  COD_TECNICO int,
  DAT_CRIACAO datetime,
  TXT_DESCRICAO varchar(256)
);

/* Inclusão dos Técnicos */    

INSERT INTO TECNICO (COD_TECNICO, TXT_NOME, TXT_ENDERECO) VALUES
(1 , 'KLEYTON', 'Rua dos Bobos, 0');
INSERT INTO TECNICO (COD_TECNICO, TXT_NOME, TXT_ENDERECO) VALUES
(2 , 'OSWALDO', 'Rua dos Bobos, 1');
INSERT INTO TECNICO (COD_TECNICO, TXT_NOME, TXT_ENDERECO) VALUES
(3 , 'JOSELITO', 'Rua dos Bobos, 2');

/* Inclusão dos chamados */ 

INSERT INTO CHAMADO (COD_CHAMADO, COD_TECNICO, DAT_CRIACAO, TXT_DESCRICAO) 
VALUES (1,1,'2018-09-09','Chamado aberto sobre X');    
INSERT INTO CHAMADO (COD_CHAMADO, COD_TECNICO, DAT_CRIACAO, TXT_DESCRICAO) 
VALUES (2,1,'2018-09-10','Chamado aberto sobre Y');    
INSERT INTO CHAMADO (COD_CHAMADO, COD_TECNICO, DAT_CRIACAO, TXT_DESCRICAO) 
VALUES (3,2,'2018-09-10','Chamado aberto sobre W');    
INSERT INTO CHAMADO (COD_CHAMADO, COD_TECNICO, DAT_CRIACAO, TXT_DESCRICAO) 
VALUES (4,3,'2018-09-10','Chamado aberto sobre K');

/* Retorna todos os chamados de um tecnico */
SELECT T.TXT_NOME as NOME_DO_TECNICO,
       T.TXT_ENDERECO as ENDERECO,
       C.DAT_CRIACAO,
       C.TXT_DESCRICAO
FROM CHAMADOS C
        inner join TECNICO T
          on T.COD_TECNICO = C.COD_TECNICO
WHERE C.COD_TECNICO = <CODIGO_DO_TECNICO>

Hope it helps

    
10.09.2018 / 20:50