Bom dia meus bons, sei que aqui no Guj tem tópicos com resolução de problemas com querys mas não conseguir resolver meu caso olhando alguns tópicos.
Estou com um problema ao gerar um relatório que pode ter várias condições, se trata de uma tela que o usuário escolhe o filtro para gerar e fazer o relatório, esse relatório se trata de projetos cadastrados no sistema e movimentações financeiras para esses projetos.
Basicamente a query é essa:
SELECT
pj.nome as 'Projeto',
m.valor AS 'Valor',
DATE_FORMAT(STR_TO_DATE(pj.data, '%Y-%m-%d'), '%d/%m/%Y') AS 'Data de Cadastro do Projeto',
DATE_FORMAT(STR_TO_DATE(m.data, '%Y-%m-%d'), '%d/%m/%Y') AS 'Data de Entrada',
pj.cliente AS 'Razão Social',
pj.porcentagem AS 'Percentual',
pj.municipio AS 'Cidade',
pj.estado AS 'Estado',
p.nome AS 'Produto',
u.nome AS 'Unidade',
(SELECT DISTINCT nome FROM usuario WHERE idUsuario = pj.idExecutor) AS 'Executor',
m.status AS 'Situação'
FROM pboffice.projeto AS pj
JOIN pboffice.produto AS p
ON p.idProduto = pj.idProduto
JOIN usuario AS u
ON u.idUsuario = pj.idUnidade
queryJoin <- variável
ON m.idProjeto = pj.idProjeto
WHERE 1=1
//mais giltros com where
No relatório quando o usuário quer relatório de projetos independente se teve movimentação financeira nele ou não eu troco a variável “queryJoin” por 'LEFT JOIN movimento AS m ', se o usuário quiser relatório onde só exista movimentação financeira eu troco a variável “queryJoin” por "JOIN movimento AS m "
Oque eu não sei é como buscar as informações quando o usuário quiser relatório somente de projetos onde não exista movimentação financeiras sem fazer outra query, alguém tem uma dica de como fazer?
Agradeço.