Mysql - Duplicate SELECT?

Asked

Viewed 104 times

1

Can anyone tell me why you’re doubling the SELECT?

CREATE TABLE tb_grupos(
  id_tbl_grupos int(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  id_grupo int(50) NOT NULL,
  hostname_grupo varchar(50) NOT NULL);

CREATE TABLE tb_hosts (
  id_tbl_host int(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  id_host int(50) NOT NULL,
  hostname varchar(50) NOT NULL,
  fk_hostname_grupo int(3) NOT NULL,
  FOREIGN KEY (fk_hostname_grupo) REFERENCES tb_grupos(id_tbl_grupos));

  CREATE TABLE tb_monitoramento (
  id_tbl_monitoramento int(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  problemas varchar(50) NOT NULL,
  tempo int(50) DEFAULT NULL,
  fk2_hostname_grupo int(3) NOT NULL,
  FOREIGN KEY (fk2_hostname_grupo) REFERENCES tb_grupos(id_tbl_grupos));
CREATE TABLE tb_eventos (
  id_tbl_eventos int(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  id_evento int(50) NOT NULL,
  eventos varchar(50) NOT NULL,
  tempo int(50) NOT NULL,
  trigger_or_network int(3) NOT NULL,
  ok_or_problema_or_desconhecido int(3) NOT NULL,
  fk3_hostname_grupo int(3) NOT NULL,
  FOREIGN KEY (fk3_hostname_grupo) REFERENCES tb_grupos(id_tbl_grupos));

  insert into tb_grupos values("0","15","HOUSE"); 
  insert into tb_hosts values("0","10087","HOUSE - MICRO", 1);
  insert into tb_grupos values("0","16","CLIENTE"); 
  insert into tb_hosts values("0","10088","CLIENTE - DIRETORIA", 1); 

  insert into tb_monitoramento values("0","MEMÓRIA EM ALTO CONSUMO EM HOUSE - MICRO","158909809",1); 
  insert into tb_monitoramento values("0","ERRO DE DISCO CLIENTE - DIRETORIA","158909856",1);

  SELECT
   tb_grupos.hostname_grupo,
   tb_monitoramento.problemas,
   tb_monitoramento.tempo
  FROM
   tb_grupos
  LEFT JOIN
   tb_monitoramento ON tb_grupos.id_tbl_grupos = tb_monitoramento.fk2_hostname_grupo
  WHERE
   tb_grupos.hostname_grupo = 'HOUSE'

Exit:

HOUSE   MEMÓRIA EM ALTO CONSUMO EM HOUSE - MICRO    158909809
HOUSE   ERRO DE DISCO CLIENTE - DIRETORIA   158909856
  • Apparently you are pointing to the same group id in your Inserts, both are set to 1.

  • Post the list of your tables for easy analysis.

1 answer

-1


On your table tb_monitoramento both records are with the same fk2_hostname_group.

If you want to use the query already to group, use group_concat, or group_by.

  • Thanks, I will pass the algorithm to increment +1 in the last value so keeping the related table!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.