Eu tenho uma tabela chamada agendas
esta tabela possui uma coluna chamada turmas_id
que referencia a outra tabela chamada turmas
porém essa coluna turmas_id
na tabela agendas
eu não a defini como sendo uma foreign key
pq eu adiciono zero como valor. O zero representa que o envio da agenda
seja enviado para todas as turmas.
O problema eh que agora quando tento fazer o SELECT com JOIN entre essas tabelas eu consigo retornar apenas códigos validos existentes na tabela turmas
e não consigo retornar todos os valores definidos como zero juntamente com os válidos.
Estou tentando assim, mas tenho um erro de syntax.
$agendamentos = $this->Agenda->query("SELECT * FROM responsavel_alunos RespAlunos " .
"INNER JOIN pessoas Responsavel ON (Responsavel.id = RespAlunos.pessoas_id) " .
"INNER JOIN pessoas Aluno ON (Aluno.id = RespAlunos.pessoas_id1) " .
"INNER JOIN matriculas Matricula ON (Matricula.pessoas_id = Aluno.id) " .
"(SELECT turmas as turma WHERE (turma.id = Matricula.turmas_id OR turma.id = 0)) AS Turma " .
"INNER JOIN escolas Escola ON (Escola.id = Matricula.escolas_id) " .
"INNER JOIN agendas Agenda ON (Agenda.turmas_id = Turma.id) " .
"WHERE Responsavel.id = ? ORDER BY Agenda.created DESC " , array($id));
Aqui o modelo
![](http://i.stack.imgur.com/uzeMt.png)