Fórum Utilizando o Select para mostrar e totalizar os registros #60437

29/01/2009

0

Bom dia a todos...

Estou utilizando o firebird 2.0 e tenho um tabela com os seguinte campos:

id
nref
orcamentista
rev
status_orc
data_status_orc

Com estes campos gostaria de fazer um select para buscar todos os registros que tenha a data_status de hoje e que o status esteja como pendente, mas gostaria de saber tambem o total de registros com estas condições...

Alguém poderia me ajudar...

Exemplo do primeiro select:

select NREF, ORCAMENTISTA, REV, STATUS_ORC, DATA_STATUS_ORC from ORC where DATA_STATUS_ORC = current_date and STATUS_ORC = ´ENVIADO´;

Com este codigo consigo mostrar os registros, e agora como que faço para mostrar também o total de registro.

Obrigado.

Uelinton


Uelinton_reis

Uelinton_reis

Responder

Posts

29/01/2009

Webjoel

Olá!

Segue abaixo a resolução:

select 

count(*) 

from ORC 

where DATA_STATUS_ORC = current_date 
and STATUS_ORC = ´ENVIADO´;



Responder

Gostei + 0

29/01/2009

Uelinton_reis

Olá! Segue abaixo a resolução:
select 

count(*) 

from ORC 

where DATA_STATUS_ORC = current_date 
and STATUS_ORC = ´ENVIADO´;


Valeu cara, mas aqui ele esta apenas totalizando, e eu tbem preciso que me mostre os campos ID, NREF, ORCAMENTISTA, REV, STATUS_ORC, DATA_STATUS_ORC..

Tem como...

veleu, obrigado.


Responder

Gostei + 0

29/01/2009

Webjoel

Te tem...

mas dai eles vai totalizar pelo campos que vc colocar a mais:

select 

NREF, 
ORCAMENTISTA, 
REV, 
STATUS_ORC, 
DATA_STATUS_ORC,
count(*) 

from ORC 
where DATA_STATUS_ORC = current_date 
and STATUS_ORC = ´ENVIADO´

group by 1,2,3,4,5


em um select simples com o total geral não dá, a não ser que você faça uma procedure.


Responder

Gostei + 0

30/01/2009

Uelinton_reis

Te tem... mas dai eles vai totalizar pelo campos que vc colocar a mais:
select 

NREF, 
ORCAMENTISTA, 
REV, 
STATUS_ORC, 
DATA_STATUS_ORC,
count(*) 

from ORC 
where DATA_STATUS_ORC = current_date 
and STATUS_ORC = ´ENVIADO´

group by 1,2,3,4,5
em um select simples com o total geral não dá, a não ser que você faça uma procedure.


Bom dia amigo,

desta forma que vc me passou, não deu certo não....
vc tinha testado...

tem alguma outra forma....

obrigado.

Uelinton


Responder

Gostei + 0

30/01/2009

Webjoel

pois é véio..

como eu te falei..pra você poder retornar a quantidade de registros só mesmo com uma procedure, segue abaixo um exemplo:

SET TERM ^ ;

CREATE OR ALTER PROCEDURE SP_ORCAMENTOS
returns (
    NREF integer,
    ORCAMENTISTA integer,
    REV integer,
    STATUS_ORC varchar(20),
    DATA_STATUS_ORC date,
    TOTAL_ORCAMENTOS integer)
as
begin
  total_orcamentos = 0;
  for select NREF,
             ORCAMENTISTA,
             REV,
             STATUS_ORC,
             DATA_STATUS_ORC,
             from ORC
             where DATA_STATUS_ORC = current_date
             and STATUS_ORC = ´ENVIADO´
  into :NREF, :ORCAMENTISTA, :REV, :STATUS_ORC, :DATA_STSTUS_ORC do
  begin
    total_orcamentos = :total_orcamentos + 1;
    suspend;
  end;
end
^

SET TERM ; ^


não testei, mas a logica eh essa, tipo só troca os tipos de campo ali do returns que não sei como estão na sua tabela.

lembrando que desta forma o total vai estar no ultimo registro.


Responder

Gostei + 0

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

Aceitar