contador de campo

29/07/2009

0

Minha duvida é a seguinte:

Estou tendando fazer uma query que me retorne a qtde de campos que o mesmo nao se repita. Ex:

select ENT_CODIGO, FIS_CODIGO
from ENTITENS
where ENT_CODIGO = 262
group by ENT_CODIGO, FIS_CODIGO


Resultado desta query:
ENT_CODIGO  FIS_CODIGO
----------- ----------
262         1.403
262         2.102
262         2.102
262         2.102
262         2.102

(5 row(s) affected)


Gostaria que minha query retornasse a qtde de FIS_CODIGO diferente. Ficando assim:

ENT_CODIGO  FIS_CODIGO QTDE
----------- ---------- ----
262         1.403      2
262         2.102      2
262         2.102      2
262         2.102      2
262         2.102      2

(5 row(s) affected)


Ou seja a qtde de FIS_CODIGO que o registro possui que o mesmo nao se repita.


Carlos_tedex

Carlos_tedex

Responder

Posts

29/07/2009

Gustavobretas

E aí Carlos, tranquilo!?

cara, pelo que eu entendi, se vc colocar um COUNT(FIS_CODIGO) ja é pra resolver!

select ENT_CODIGO, 
FIS_CODIGO,
COUNT(FIS_CODIGO) AS QTDE
from ENTITENS
where ENT_CODIGO = 262
group by ENT_CODIGO, FIS_CODIGO 


flw...


Responder

29/07/2009

Carlos_tedex

E aí Carlos, tranquilo!? cara, pelo que eu entendi, se vc colocar um COUNT(FIS_CODIGO) ja é pra resolver!


Caro Gustavo, eu tb ja tinha feito com o count mas o resultado nao foi o que eu almejava. veja:

ENT_CODIGO  FIS_CODIGO QTDE        
----------- ---------- ----------- 
262         1.403      1
262         2.102      4

(2 row(s) affected)


Gostaria que ficasse assim:
ENT_CODIGO  FIS_CODIGO QTDE        
----------- ---------- ----------- 
262         1.403      2
262         2.102      2

(2 row(s) affected)


valew pela dica... qq novidade posta ai que nois testa aqui...


Responder

29/07/2009

Emerson Nascimento

pode ser:
select
  EI1.ENT_CODIGO,
  EI1.FIS_CODIGO,
  (select count(distinct EI2.FIS_CODIGO)
   from ENTITENS EI2
   where EI2.ENT_CODIGO = EI1.ENT_CODIGO) AS QTDE
from
  ENTITENS EI1
where
  EI1.ENT_CODIGO = 262
group by
  EI1.ENT_CODIGO, EI1.FIS_CODIGO



ou, se você não precisar exibir o campo FIS_CODIGO:
select
  ENT_CODIGO,
  count(distinct FIS_CODIGO) AS QTDE
from
  ENTITENS 
where
  ENT_CODIGO = 262
group by
  EI1.ENT_CODIGO



Responder

29/07/2009

Gustavobretas

vc quer que a coluna QTDE seja a qtde de FIS_CODIGO diferentes para o ENT_CODIGO então!?

ve se é isso mesmo!

SELECT E1.ENT_CODIGO, 
E1.FIS_CODIGO,
(SELECT COUNT(DISTINCT(FIS_CODIGO)) FROM ENTITENS E2 WHERE E2.ENT_CODIGO = E1.ENT_CODIGO) AS QTDE
FROM ENTITENS E1
WHERE E1.ENT_CODIGO = 262
GROUP BY E1.ENT_CODIGO, E1.FIS_CODIGO 


flw...


Responder

29/07/2009

Gustavobretas

aí, o emerson.en ja tinha postado! ñ tinha visto!

vlw!


Responder

30/07/2009

Carlos_tedex

pode ser:...


Caro emerson.en é isso mesmo que eu estava precisando... valew mesmo ajudou muito...

OBS: Tb agradeço ao gustavobretas.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar