PC
LEFT JOIN NO ADIANTI
Bom dia!
Tenho a seguinte situação:
1 - Tenho uma tabela meses (Janeiro a Dezembro) onde o número do mês é o id.
2 - Tenho uma segunda tabela distribuição onde gravo o id da tabela pessoa e o id do mês em que a pessoa recebeu.
Eu quero popular uma datagrid onde eu listo o nome das pessoas e todos os meses (Janeiro a Dezembro) para os meses onde não consta o id na tabela distribuição quero preencher a linha com não e vice versa com sim para os que receberam.
No MYSQL criei o select abaixo:
O resultado esperado é o da imagem em anexo, onde o que vier null seria não e o preenchido seria sim.
Alguém tem uma sugestão de como montar isso no Adianti?
Grato pela ajuda!
Tenho a seguinte situação:
1 - Tenho uma tabela meses (Janeiro a Dezembro) onde o número do mês é o id.
2 - Tenho uma segunda tabela distribuição onde gravo o id da tabela pessoa e o id do mês em que a pessoa recebeu.
Eu quero popular uma datagrid onde eu listo o nome das pessoas e todos os meses (Janeiro a Dezembro) para os meses onde não consta o id na tabela distribuição quero preencher a linha com não e vice versa com sim para os que receberam.
No MYSQL criei o select abaixo:
SELECT * FROM meses m LEFT JOIN distribuicao d ON d.MesId = m.id ORDER BY m.id
O resultado esperado é o da imagem em anexo, onde o que vier null seria não e o preenchido seria sim.
Alguém tem uma sugestão de como montar isso no Adianti?
Grato pela ajuda!
Melhorei a consulta
Para poder utilizar no framework, recomendo criar uma view, assim poderá criar uma Model. Qual a sua necessidade?
www.adianti.com.br/forum/pt/view_879?relatorios-com-queries-complexa
Amigos muito obrigado pela ajuda!
Consegui trazer as informações agora tenho outra questão:
Minha datagrid tem as colunas Nome, janeiro, fevereiro, ... Dezembro
Quero quando o mês for janeiro coloca as informações na coluna janeiro assim por diante, tem como dizer para a datagrid em qual coluna colocar a informação?
Obrigado!
Boa noite Paulo.
Esse um script de exemplo no sqlite onde faz o que você quer, tabela de referência cruzada.
select coluna_agrupadora,
Count(case when mes = 'janeiro' then coluna_contadora end) as 'Janeiro',
Count(case when mes = 'fevereiro' then coluna_contadora end) as 'Fevereiro',
........
from xxxx
group by coluna_agrupadora
order by coluna_agrupadora;
Busque tabela de referência cruzadas no mysql.
www.scriptcase.com.br/forum/index.php?topic=10281.0
Espero ter ajudado.
Atenciosamente,
Ailton Furtado
Amigos consegui obrigado pela presteza e ajuda, o resultado ficou conforme abaixo: