LEFT JOIN
16/05/2006
0
[quote:1a1ffb2e7c=´Moderação´][color=red:1a1ffb2e7c]Título editado por Massuda
Removido: ´AJUDA URGENTE´
Por favor, leia as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url][/color:1a1ffb2e7c][/quote:1a1ffb2e7c]
tenho a tabela de contribuintes, que tem 20 contribuintes: vamos supor que 15 contribuintes tenham dívida na tabela ´divida´ ligados pelo ´contribuinteUID´.
na tabela divida existe o status da dívida, ou seja 1, 2, 3, 4,5 e 6
o statusdivida = 6 é fechada totalmente. é a única opção para quando uma dívida está fechada totalmente, se o status for diferente de 6 ou ainda não existir nada na tabela dívida para um determinado contribuinte, em algum momento ela não está fechada por completo.
por exemplo:
5 contribuintes estão com o status 1
5 contribuintes estão com o status 2
5 contribuintes estão com o status 6
os outros 5 contribuintes não estão na tabela divida, pois não possuem dívida (e deveria possuir, por isso assumo que é status NÃO FECHADO)
as opções do usuário é escolher o status 6, diferente de 6 ou ainda todos
caso a opção seja diferente de 6, ou seja não fechada totalmente, deverá listar todos os contribuintes que estão na tabela divida com status <> 6 e ainda os que não estão, pois nem geraram dívida, então não está fechada.
quando eu coloco no left join
contribuinte c left join divida d ON(c.contribuinteuid=d.contribuinteuid and d.statusdivida=6)
ele traz todos os 20, e ainda os status que são 1 e 2 ele joga pra null.
e também, caso ele escolha diferente de 6, deveria trazer somente 15, os 5 com status 1, os 5 com status 2 e os 5 que não estão na tabela dívida.
espero que expliquei bem..
Removido: ´AJUDA URGENTE´
Por favor, leia as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url][/color:1a1ffb2e7c][/quote:1a1ffb2e7c]
tenho a tabela de contribuintes, que tem 20 contribuintes: vamos supor que 15 contribuintes tenham dívida na tabela ´divida´ ligados pelo ´contribuinteUID´.
na tabela divida existe o status da dívida, ou seja 1, 2, 3, 4,5 e 6
o statusdivida = 6 é fechada totalmente. é a única opção para quando uma dívida está fechada totalmente, se o status for diferente de 6 ou ainda não existir nada na tabela dívida para um determinado contribuinte, em algum momento ela não está fechada por completo.
por exemplo:
5 contribuintes estão com o status 1
5 contribuintes estão com o status 2
5 contribuintes estão com o status 6
os outros 5 contribuintes não estão na tabela divida, pois não possuem dívida (e deveria possuir, por isso assumo que é status NÃO FECHADO)
as opções do usuário é escolher o status 6, diferente de 6 ou ainda todos
caso a opção seja diferente de 6, ou seja não fechada totalmente, deverá listar todos os contribuintes que estão na tabela divida com status <> 6 e ainda os que não estão, pois nem geraram dívida, então não está fechada.
quando eu coloco no left join
contribuinte c left join divida d ON(c.contribuinteuid=d.contribuinteuid and d.statusdivida=6)
ele traz todos os 20, e ainda os status que são 1 e 2 ele joga pra null.
e também, caso ele escolha diferente de 6, deveria trazer somente 15, os 5 com status 1, os 5 com status 2 e os 5 que não estão na tabela dívida.
espero que expliquei bem..
Rodrigozim
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)