Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amiguinhos, estou precisando de uma ajudinha em um select. Tenho que chamar duas tabelas mas não estou conseguindo, talvez pela complexidade de meu código.
Tenho um sistema de boletim para escolas. Ele faz a associação das matérias com as séries, e o professor se loga também pela matéria e pela série. Até aí tudo bem. Mas quando cadastro os períodos ele é comum a todos. Por exemplo: Eu tenho uma série que vai ter somente 4 períodos e outra com 6 períodos, mas quando entro ele sempre vai aparecer o número total de períodos que o sistema tem. Então se tenho 6 períodos cadastrados e vou ter uma série de 4 períodos, quando logar ele vai mostrar os 6 períodos.
E outro ponto é nas matérias, pois também tem período que preciso ter uma matéria em um período e no outro período não, porém quando se loga ele aparece todos as matérias.
Bom. agora como está no Mysql.
Então eu queria no mínimo fazer um LEFT JOIN ou INNER JOIN, mas só leiga nesse assunto, a associação eu até já fiz no banco e quando faço a associação pelo sistema ele associa no banco de dados direitinho, mas como fazer para aparecer mesmo eu não sei
No mínimo queria fazer que determinados períodos não vão estar associados a algumas matérias.
Acho que as tabelas chaves seria a PERIODOS e a PERIODO_MATERIA
Segue o banco.
--
-- Banco de Dados: escola
--
-- --------------------------------------------------------
--
-- Estrutura da tabela administracao
--
CREATE TABLE IF NOT EXISTS `administracao` (
`id_adm` int(10) NOT NULL auto_increment,
`nome` varchar(150) NOT NULL,
`email` varchar(150) NOT NULL,
`login` varchar(30) NOT NULL,
`senha` varchar(20) NOT NULL,
`data` varchar(20) NOT NULL,
PRIMARY KEY (`id_adm`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Extraindo dados da tabela administracao
--
INSERT INTO `administracao` (`id_adm`, `nome`, `email`, `login`, `senha`, `data`) VALUES
(1, 'Lorena', 'lorena_ls23@hotmail.com.br', 'admin', 'admin', '29/07/2013 - 18:37');
-- --------------------------------------------------------
--
-- Estrutura da tabela alunos
--
CREATE TABLE IF NOT EXISTS `alunos` (
`id_aluno` int(10) NOT NULL auto_increment,
`aluno` varchar(150) NOT NULL,
`foto` varchar(255) NOT NULL,
`email` varchar(150) NOT NULL,
`endereco` varchar(150) NOT NULL,
`numero` varchar(30) NOT NULL,
`complemento` varchar(150) NOT NULL,
`bairro` varchar(150) NOT NULL,
`cep` varchar(30) NOT NULL,
`cidade` varchar(150) NOT NULL,
`estado` varchar(30) NOT NULL,
`telefone` varchar(30) NOT NULL,
`celular` varchar(30) NOT NULL,
`pai` varchar(150) NOT NULL,
`mae` varchar(150) NOT NULL,
`sexo` varchar(30) NOT NULL,
`nascimento` varchar(30) NOT NULL,
`cpf` varchar(30) NOT NULL,
`matricula` varchar(30) NOT NULL,
`id_serie` varchar(30) NOT NULL,
`login` varchar(30) NOT NULL,
`senha` varchar(30) NOT NULL,
`obs` varchar(150) NOT NULL,
`mensagem` varchar(1000) NOT NULL,
`ativo` int(1) NOT NULL,
PRIMARY KEY (`id_aluno`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Extraindo dados da tabela alunos
--
INSERT INTO `alunos` (`id_aluno`, `aluno`, `foto`, `email`, `endereco`, `numero`, `complemento`, `bairro`, `cep`, `cidade`, `estado`, `telefone`, `celular`, `pai`, `mae`, `sexo`, `nascimento`, `cpf`, `matricula`, `id_serie`, `login`, `senha`, `obs`, `mensagem`, `ativo`) VALUES
(2, 'JOANA COSTA MACHADO', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '10001', '3', 'aluno', '123456', '', '', 1);
-- --------------------------------------------------------
--
-- Estrutura da tabela materias
--
CREATE TABLE IF NOT EXISTS `materias` (
`id_materia` int(10) NOT NULL auto_increment,
`materia` varchar(255) NOT NULL,
PRIMARY KEY (`id_materia`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
--
-- Extraindo dados da tabela materias
--
INSERT INTO materias (id_materia, materia) VALUES
(11, 'MATEMÁTICA'),
(12, 'FÍSICA'),
(13, 'INGLÊS'),
(14, 'GEOGRAFIA'),
(15, 'LITERATURA'),
(16, 'HISTÓRIA'),
(17, 'PORTUGUÊS'),
(18, 'QUÍMICA');
-- --------------------------------------------------------
--
-- Estrutura da tabela notas
--
CREATE TABLE IF NOT EXISTS `notas` (
`id_aluno` int(10) NOT NULL,
`id_serie` int(10) NOT NULL,
`id_materia` int(10) NOT NULL,
`id_periodo` int(10) NOT NULL,
`nota` decimal(4,2) NOT NULL,
`faltas` int(2) NOT NULL,
`datas_falta` text NOT NULL,
`obs` text NOT NULL,
`seg` varchar(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela notas
--
INSERT INTO notas (id_aluno, id_serie, id_materia, id_periodo, nota, faltas, datas_falta, obs, seg) VALUES
(2, 3, 11, 9, 6.00, 0, '', '', '.'),
(2, 3, 11, 10, 8.00, 0, '', '', '.'),
(2, 3, 11, 11, 5.00, 0, '', '', '.'),
(2, 3, 11, 12, 7.00, 0, '', '', '.');
-- --------------------------------------------------------
--
-- Estrutura da tabela periodos
--
CREATE TABLE IF NOT EXISTS `periodos` (
`id_periodo` int(10) NOT NULL auto_increment,
`periodo` varchar(255) NOT NULL,
PRIMARY KEY (`id_periodo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
--
-- Extraindo dados da tabela periodos
--
INSERT INTO periodos (id_periodo, periodo) VALUES
(9, '1º; BIMESTRE'),
(10, '2º; BIMESTRE'),
(11, '3º; BIMESTRE'),
(12, '4º; BIMESTRE');
-- --------------------------------------------------------
--
-- Estrutura da tabela periodo_materia
--
CREATE TABLE IF NOT EXISTS `periodo_materia` (
`id_periodo` int(10) NOT NULL,
`id_materia` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Estrutura da tabela periodo_serie
--
CREATE TABLE IF NOT EXISTS `periodo_serie` (
`id_periodo` int(10) NOT NULL,
`id_serie` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela periodo_serie
--
INSERT INTO periodo_serie (id_periodo, id_serie) VALUES
(10, 3),
(9, 3),
(11, 3),
(12, 3),
(9, 4),
(10, 4);
-- --------------------------------------------------------
--
-- Estrutura da tabela professores
--
CREATE TABLE IF NOT EXISTS `professores` (
`id_professor` int(10) NOT NULL auto_increment,
`professor` varchar(150) NOT NULL,
`email` varchar(150) NOT NULL,
`telefone` varchar(30) NOT NULL,
`login` varchar(30) NOT NULL,
`senha` varchar(20) NOT NULL,
PRIMARY KEY (`id_professor`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Extraindo dados da tabela professores
--
INSERT INTO `professores` (`id_professor`, `professor`, `email`, `telefone`, `login`, `senha`) VALUES
(3, 'LORENA SIMEONE', '', '', 'lorena', '123456');
-- --------------------------------------------------------
--
-- Estrutura da tabela professor_materia
--
CREATE TABLE IF NOT EXISTS `professor_materia` (
`id_professor` int(10) NOT NULL,
`id_materia` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela professor_materia
--
INSERT INTO professor_materia (id_professor, id_materia) VALUES
(3, 12),
(3, 14),
(3, 16),
(3, 13),
(3, 15),
(3, 11),
(3, 17),
(3, 18);
-- --------------------------------------------------------
--
-- Estrutura da tabela professor_serie
--
CREATE TABLE IF NOT EXISTS `professor_serie` (
`id_professor` int(10) NOT NULL,
`id_serie` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela professor_serie
--
INSERT INTO professor_serie (id_professor, id_serie) VALUES
(3, 3),
(3, 4);
-- --------------------------------------------------------
--
-- Estrutura da tabela series
--
CREATE TABLE IF NOT EXISTS `series` (
`id_serie` int(10) NOT NULL auto_increment,
`serie` varchar(255) NOT NULL,
PRIMARY KEY (`id_serie`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Extraindo dados da tabela series
--
INSERT INTO series (id_serie, serie) VALUES
(3, 'PRIMEIRA SÉRIE DO ENSINO MÉDIO - TURMA A'),
(4, 'SEGUNDA SÉRIE DO ENSINO MÉDIO - TURMA B');
-- --------------------------------------------------------
--
-- Estrutura da tabela serie_materia
--
CREATE TABLE IF NOT EXISTS `serie_materia` (
`id_serie` int(10) NOT NULL,
`id_materia` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela serie_materia
--
INSERT INTO serie_materia (id_serie, id_materia) VALUES
(3, 11),
(3, 12),
(3, 13),
(3, 14),
(3, 15),
(3, 16),
(3, 17),
(3, 18),
(4, 12),
(4, 14),
(4, 16),
(4, 15),
(4, 11),
(4, 17),
(4, 18);
Carregando comentários...