AJUDA COM SELECT
Então passa a estrutura das tabelas:
Tabela tblClientes: campo1 tipo x chave, campo 2 x, campo3 tipo y
Eu não estou conseguindo visualizar a imagem q vc enviou, por isso estou pedindo estas informações.
Tabela tblClientes: campo1 tipo x chave, campo 2 x, campo3 tipo y
Eu não estou conseguindo visualizar a imagem q vc enviou, por isso estou pedindo estas informações.
Ricart o link para a foto é esse [http://img146.imageshack.us/i/imagemzko.jpg/] e a estrutura da tabela é essa
tbempresa
codempr - chave
nomeempr
tbassociado
codempr - chave estrangeira
chapa,
matricula - chave
nomeassociado,
dtInscricao,
bairroAssociado,
endAssociado,
estadoAssociado,
cidadeAssociado,
telAssociado
é isso, será que vc poderia me ajudar e agradeço o retorno
tbempresa
codempr - chave
nomeempr
tbassociado
codempr - chave estrangeira
chapa,
matricula - chave
nomeassociado,
dtInscricao,
bairroAssociado,
endAssociado,
estadoAssociado,
cidadeAssociado,
telAssociado
é isso, será que vc poderia me ajudar e agradeço o retorno
Acredito que a solução é mais simples do que parece, mas primeiro vamos exclarecer o que você deseja exatamente.
então você disse
eu gostaria de saber é o seguinte, você gostaria de exibir todos os registro, em que não haja nada escrito no campos associados, end associado, etc
é isso?
então você disse
Citação:...é não deixar que se exiba as empresas que não tenham associado selecionados...
eu gostaria de saber é o seguinte, você gostaria de exibir todos os registro, em que não haja nada escrito no campos associados, end associado, etc
é isso?
Marcelo-Treze obrigado pelo retorno, quanto ao que preciso realmente deve ser fácil. O que preciso é que o select só traga empresas com associados, seria o contrário que vc disse
[Ô]você gostaria de exibir todos os registro, em que não haja nada escrito no campos associados, end associado, etc
é isso?[Ô]
é não exibir esses registros que não tenham nada, preciso que exiba as empresas com associados e não empresas sem associados, pois dependendo do filtro que eu colocar vai ter momentos que os associados não se enquadram nele, então a empresa é exibida no relatório, apenas com o cabeçalho, que é o que aconteceu na imagem que eu coloquei
Agradeço o retorno e ajuda
[Ô]você gostaria de exibir todos os registro, em que não haja nada escrito no campos associados, end associado, etc
é isso?[Ô]
é não exibir esses registros que não tenham nada, preciso que exiba as empresas com associados e não empresas sem associados, pois dependendo do filtro que eu colocar vai ter momentos que os associados não se enquadram nele, então a empresa é exibida no relatório, apenas com o cabeçalho, que é o que aconteceu na imagem que eu coloquei
Agradeço o retorno e ajuda
Bom... pelo q entendi deve até ser fácil o que vc quer, vc tem dua tabelas empresa/associado com relacionamento 1:N (pq tem o codigo chaveestrangeira na tabala associado), e vc tem empresas cadastradas com e sem associados relacionados, e vc quer trazer somente as empresas com associado, certo ? vou te explicar como eu faria em firebird (não sei se vai ser a mesma coisa com access), mas o comando sql seria +ou- assim:
select codempr,(outros campos...) from tbempresa where codempr in
(select codempr from tbassociado where codempr <> [ô][ô])...e depois os outros argumentos que vc deseja
ou tbm poderia ser assim....
select a.codempr, e.nomeempr from tbempresa e, tbassociado a where
a.codempr<>[ô][ô] and e.codempr=a.codempr
é claro q ta bem [ô]cru[ô] este código, mas só quero q vc entenda os dois casos e vê se é +ou- isso que vc precisa, depois avisa a gente...
Boa sorte
select codempr,(outros campos...) from tbempresa where codempr in
(select codempr from tbassociado where codempr <> [ô][ô])...e depois os outros argumentos que vc deseja
ou tbm poderia ser assim....
select a.codempr, e.nomeempr from tbempresa e, tbassociado a where
a.codempr<>[ô][ô] and e.codempr=a.codempr
é claro q ta bem [ô]cru[ô] este código, mas só quero q vc entenda os dois casos e vê se é +ou- isso que vc precisa, depois avisa a gente...
Boa sorte
baseado na sua query
SELECT COUNT(matricula) AS Total, matricula, nomeAssociado,
codEmpr, dtInscricao, Chapa, bairroAssociado, endAssociado,
estadoAssociado, cidadeAssociado, telAssociado
FROM tbAssociados WHERE nomeAssociado IS NOT NULL
GROUP BY matricula, nomeAssociado, codEmpr, dtInscricao,
Chapa, bairroAssociado, endAssociado, estadoAssociado,
cidadeAssociado, telAssociado
Só vou poder verificar à noite, pois não consigo acessar essa imagem aqui no trabalho. Enquanto isso, pode ser que alguém lhe ajude.
WillVidal e Marcelo obrigado pelo retorno
Marcelo eu coloquei o comando que vc falou, más infelizmente ainda trouxe as empresas que não tem associados no filtro selecionado
O comando ficou assim:
SHAPE { SELECT DISTINCT e.codempr,e.nomeempr FROM tbempresas e INNER JOIN tbassociados a ON e.codempr = a.codempr order by e.codempr} AS Command1 APPEND ({ SELECT count(A.matricula) as Total,a.chapa,a.matricula,a.nomeassociado, a.codempr, a.dtInscricao, a.bairroAssociado , a.endAssociado, a.estadoAssociado, a.cidadeAssociado, a.telAssociado FROM tbassociados a Where a.codAssociado <> 0 and a.dtInscricao >=#01/01/1900# and a.dtInscricao <=#12/31/9999# AND nomeAssociado IS NOT NULL group by chapa, matricula, nomeassociado, codempr, dtInscricao,bairroAssociado, endAssociado, estadoAssociado, cidadeAssociado, telAssociado order by a.Matricula ASC } AS Command2 RELATE [ô]codempr[ô] TO [ô]codempr[ô]) AS Command2
WillVidal todas as empresas possuem associados, más depedendo do filtro selecionado, as empresas ficam sem associados a serem exibidos
Marcelo eu coloquei o comando que vc falou, más infelizmente ainda trouxe as empresas que não tem associados no filtro selecionado
O comando ficou assim:
SHAPE { SELECT DISTINCT e.codempr,e.nomeempr FROM tbempresas e INNER JOIN tbassociados a ON e.codempr = a.codempr order by e.codempr} AS Command1 APPEND ({ SELECT count(A.matricula) as Total,a.chapa,a.matricula,a.nomeassociado, a.codempr, a.dtInscricao, a.bairroAssociado , a.endAssociado, a.estadoAssociado, a.cidadeAssociado, a.telAssociado FROM tbassociados a Where a.codAssociado <> 0 and a.dtInscricao >=#01/01/1900# and a.dtInscricao <=#12/31/9999# AND nomeAssociado IS NOT NULL group by chapa, matricula, nomeassociado, codempr, dtInscricao,bairroAssociado, endAssociado, estadoAssociado, cidadeAssociado, telAssociado order by a.Matricula ASC } AS Command2 RELATE [ô]codempr[ô] TO [ô]codempr[ô]) AS Command2
WillVidal todas as empresas possuem associados, más depedendo do filtro selecionado, as empresas ficam sem associados a serem exibidos
agora que vi tem uma tabela de associados
eu fiz uma pequena apenas no a.CodAssociado <> 0 para a.CodAssociado IS NOT NULL
teste
SHAPE { SELECT DISTINCT e.codempr,e.nomeempr FROM tbempresas e INNER JOIN tbassociados a ON e.codempr = a.codempr order by e.codempr} AS Command1 APPEND ({ SELECT count(A.matricula) as Total,a.chapa,a.matricula,a.nomeassociado, a.codempr, a.dtInscricao, a.bairroAssociado , a.endAssociado, a.estadoAssociado, a.cidadeAssociado, a.telAssociado FROM tbassociados a Where a.codAssociado IS NOT NULL and a.dtInscricao >=#01/01/1900# and a.dtInscricao <=#12/31/9999# group by chapa, matricula, nomeassociado, codempr, dtInscricao,bairroAssociado, endAssociado, estadoAssociado, cidadeAssociado, telAssociado order by a.Matricula ASC } AS Command2 RELATE [ô]codempr[ô] TO [ô]codempr[ô]) AS Command2
eu fiz uma pequena apenas no a.CodAssociado <> 0 para a.CodAssociado IS NOT NULL
teste
Marcelo infelizmente não deu certo, continua saindo com a empresa, que não tem associado
SHAPE { SELECT DISTINCT e.codempr,e.nomeempr FROM tbempresas e INNER JOIN tbassociados a ON e.codempr = a.codempr order by e.codempr} AS Command1 APPEND ({ SELECT count(A.matricula) as Total,a.chapa,a.matricula,a.nomeassociado, a.codempr, a.dtInscricao, a.bairroAssociado , a.endAssociado, a.estadoAssociado, a.cidadeAssociado, a.telAssociado FROM tbassociados a Where a.demAssociado <> [ô]__/__/____[ô] and a.dtInscricao >=#01/01/1900# and a.dtInscricao <=#12/31/9999# AND a.codAssociado IS NOT NULL group by chapa, matricula, nomeassociado, codempr, dtInscricao,bairroAssociado, endAssociado, estadoAssociado, cidadeAssociado, telAssociado order by a.Matricula ASC } AS Command2 RELATE [ô]codempr[ô] TO [ô]codempr[ô]) AS Command2
SHAPE { SELECT DISTINCT e.codempr,e.nomeempr FROM tbempresas e INNER JOIN tbassociados a ON e.codempr = a.codempr order by e.codempr} AS Command1 APPEND ({ SELECT count(A.matricula) as Total,a.chapa,a.matricula,a.nomeassociado, a.codempr, a.dtInscricao, a.bairroAssociado , a.endAssociado, a.estadoAssociado, a.cidadeAssociado, a.telAssociado FROM tbassociados a Where a.demAssociado <> [ô]__/__/____[ô] and a.dtInscricao >=#01/01/1900# and a.dtInscricao <=#12/31/9999# AND a.codAssociado IS NOT NULL group by chapa, matricula, nomeassociado, codempr, dtInscricao,bairroAssociado, endAssociado, estadoAssociado, cidadeAssociado, telAssociado order by a.Matricula ASC } AS Command2 RELATE [ô]codempr[ô] TO [ô]codempr[ô]) AS Command2
Tópico encerrado , respostas não são mais permitidas