AJUDA COM SELECT

RICART 30/07/2009 09:16:18
#318299
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.
ALVAROVB2009 30/07/2009 10:53:54
#318316
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
MARCELO.TREZE 30/07/2009 12:01:38
#318342
Acredito que a solução é mais simples do que parece, mas primeiro vamos exclarecer o que você deseja exatamente.

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?


ALVAROVB2009 30/07/2009 12:15:22
#318345
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
WILLVIDAL 30/07/2009 12:55:57
#318357
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
MARCELO.TREZE 30/07/2009 13:40:51
#318361
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

RICART 30/07/2009 13:45:53
#318363
Só vou poder verificar à noite, pois não consigo acessar essa imagem aqui no trabalho. Enquanto isso, pode ser que alguém lhe ajude.
ALVAROVB2009 30/07/2009 16:06:06
#318377
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.TREZE 30/07/2009 16:11:41
#318379
agora que vi tem uma tabela de associados

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
ALVAROVB2009 30/07/2009 17:21:37
#318388
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
Página 2 de 4 [35 registro(s)]
Tópico encerrado , respostas não são mais permitidas