No formulário de LAUDOS, tenho um combobox (select) em um formulário, chamado {atendimento_id}
A regra para mostrar os registros no combo é:
- Só posso mostrar atendimentos que não possuam laudo.
Bem. Resolvi isso facilmente, mostrando apenas registros que não possuem relacionamento com a tabela de laudos usando a query abaixo:
SELECT a.id, a.nome
FROM atendimentos AS a
LEFT JOIN laudos AS l ON a.id = l.atendimento_id
WHERE l.atendimento_id IS NULL
ORDER BY a.nome
Na inclusão de novos registros funcionou direitinho… Mas tive um problema na alteração: O combo ficava vazio por causa do WHERE (óbvio, não é…).
Na minha cabeça a solução é simples:
SELECT a.id, a.nome
FROM atendimentos AS a
LEFT JOIN laudos AS l ON a.id = l.atendimento_id
WHERE (l.atendimento_id IS NULL OR l.atendimento_id = '{atendimento_id}')
ORDER BY a.nome
Funcionou na alteração!!
Mas parou de funcionar na inclusão… rsss
No modo debug, percebi que nem roda o select do combo quando é inclusão. Penso que isso tenha a ver com o fato de eu estar usando o mesmo campo {atendimento_id} no WHERE…
Alguém já passou por algo do tipo? Help!