Limitar o Resultado para 100.

Firebird

08/03/2012

Ola Boa tarde, estou com um problema, preciso limitar o resultado para 100 em cada select, mas não estou conseguindo pensar em como fazer.

usei o union para separar por mes, ficando assim 100 resultados para cada mes, no caso deveria ficar.

Alguem poderia me ajusar.

Obrigado.

Segue o codigo.

select extract(month from cp.movdat),CP.MOVDAT,CP.CODEMPRESA,CP.PEDIDO,NF.NRNOTA,CP.CODEST,CP.NUMFAB,CP.PCOCUSTO,CP.VALORFINAL,(cp.valorfinal/cp.pcocusto) confmkup,CP.MKUP from corpo CP
LEFT JOIN NFISCAL NF ON (NF.CODEMPRESA = CP.codempresa) AND (NF.PEDIDO = CP.PEDIDO)
where CP.movdat between 01.05.2008 and 31.05.2008
AND NF.SERIE <> P2
and CP.CODEMPRESA = B
and CP.tipo = SV
AND NUMFAB NOT LIKE JCE%

union

select extract(month from cp.movdat),CP.MOVDAT,CP.CODEMPRESA,CP.PEDIDO,NF.NRNOTA,CP.CODEST,CP.NUMFAB,CP.PCOCUSTO,CP.VALORFINAL,(cp.valorfinal/cp.pcocusto) confmkup,CP.MKUP from corpo CP
LEFT JOIN NFISCAL NF ON (NF.CODEMPRESA = CP.codempresa) AND (NF.PEDIDO = CP.PEDIDO)
where CP.movdat between 01.06.2008 and 30.06.2008
AND NF.SERIE <> P2
and CP.CODEMPRESA = B
and CP.tipo = SV
AND NUMFAB NOT LIKE JCE%

union

select extract(month from cp.movdat),CP.MOVDAT,CP.CODEMPRESA,CP.PEDIDO,NF.NRNOTA,CP.CODEST,CP.NUMFAB,CP.PCOCUSTO,CP.VALORFINAL,(cp.valorfinal/cp.pcocusto) confmkup,CP.MKUP from corpo CP
LEFT JOIN NFISCAL NF ON (NF.CODEMPRESA = CP.codempresa) AND (NF.PEDIDO = CP.PEDIDO)
where CP.movdat between 01.07.2008 and 31.07.2008
AND NF.SERIE <> P2
and CP.CODEMPRESA = B
and CP.tipo = SV
AND NUMFAB NOT LIKE JCE%

group by extract(month from cp.movdat),CP.MOVDAT,CP.CODEMPRESA,CP.PEDIDO,NF.NRNOTA,CP.CODEST,CP.NUMFAB,CP.PCOCUSTO,CP.VALORFINAL,CP.MKUP
order by 1,10
Alex Lekao

Alex Lekao

Curtidas 0

Respostas

Deivison Melo

Deivison Melo

08/03/2012

Boa tarde,

Imagino que o que deseja será encontrado nesse link:

http://www.ramosdainformatica.com.br/art_recentes01.php?CDA=693
GOSTEI 0
Deivison Melo

Deivison Melo

08/03/2012

Dependendo da sua versão també há possibilidade de utilização da função Rows

http://www.millenniuminfo.provisorio.ws/cms/index.php?option=com_content&view=article&id=112:firebird-novidades-da-versao-2x&catid=105:artigos&Itemid=162
GOSTEI 0
Alex Lekao

Alex Lekao

08/03/2012

Oi Deivison, boa tarde!!

obrigado pela colaboracao.

Entao eu usei essa função first, mas ela limitou errado, ao fazer a conferencia eu percebi que alguns itens não apareceram e que deveria aparecer.

Se bem que não sei se me expressei bem.

GOSTEI 0
Bruno Leandro

Bruno Leandro

08/03/2012

uma solução poderia ser criar um procedure que retorne esse select e um parametro da procedure serial o numero de registro deste select

ex
select a,b,c from proc1(100)
union
select a,b,c from proc2(100)
union
select a,b,c from proc3(100)

sendo 100 o numero de registros
GOSTEI 0
Alex Lekao

Alex Lekao

08/03/2012

Blz Galera.

Obrigado pela ajuda.

Ja terminei o que precisava.

Muito obrigado pela forca.

abraco!!!
GOSTEI 0
POSTAR