Preciso de ajuda para fazer o relacionamento de 3 tabelas

13/10/2020

4

segui abaixo as tres tabelas que preciso relacionar :

CREATE TABLE `tarefas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(100) NOT NULL,
`data_vencimento` date NOT NULL,
`categoria` varchar(5) NOT NULL,
`projeto` varchar(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;


CREATE TABLE `projeto` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(100) NOT NULL,
`duracao` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;


CREATE TABLE `categoria` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`descricao` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;


Fiz a seguinte query :

SELECT *FROM tarefas
inner join projeto on projeto.id = tarefas.id inner join categoria on categoria.id = tarefas.id

resultado que esta sendo imprido pelo <?php echo ela nao esta aparecendo o nome tarefa e nem o id da tarefa

2 - Nome: Projeto Site -Data Vencimento :2020-03-20 Categoria : 1 Projeto Projeto Site

se alguem poder me ajudar agradeço !!
Responder

Posts

acredito que estejam faltando tabelas nessa modelagem.

porque cada uma das tabelas que você relacionou têm seu próprio ID, mas nenhuma faz o relacionamento entre elas.
por exemplo:
CREATE TABLE `projeto` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(100) NOT NULL,
`duracao` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

CREATE TABLE `tarefas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(100) NOT NULL,
`data_vencimento` date NOT NULL,
`categoria` varchar(5) NOT NULL,
`projeto` varchar(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

aparenta faltar uma tabela para relacionamento entre elas:

CREATE TABLE `projeto_tarefas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_projeto` int(11) NOT NULL,
`id_tarefa` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar