2016-04-05 12 views
0

私はこのクエリから最後のレコードを取得しようとしていますが、それを行う方法がわかりません。私は、合計が必要LAST REGクエリからSQL

(私はすべてのものを入れないでしょうので、クエリが106行を持っている)私はROW_NUMBERを使用しますが、私のプログラム(Protheus ADVPL)は、クエリから

SELECT ROW_NUMBER() OVER (ORDER BY B1_MASTER, B1_COD) AS ID, 
B1_COD, 
    B1_DESC, 
    B1_CATEG, 
    B1_MASTER, 
    A2_COMPRAD, 
ISNULL((SELECT Sum(C6_QTDVEN * C6_PRCVEN) 
      FROM SC6010 SC6, 
        SF4010 SF4, 
        SC5010 SC5 
      WHERE C6_FILIAL = '01' 
        AND C6_PRODUTO = B1_COD 
        AND SC6.D_E_L_E_T_ <> '*' 
        AND C5_FILIAL = C6_FILIAL 
        AND C5_NUM = C6_NUM 
        AND C5_EMISSAO BETWEEN '20160401' AND '20160404' 
        AND C5_TIPO = 'N' 
        AND C5_MODAL = '2' 
        AND SC5.D_E_L_E_T_ <> '*' 

を最後の行を取得するためのリソースを持っていませんこのような列のレコード、:

Tabela

私は何ができますか?

TKS

+0

ROW_NUMBERを@@ ROWCOUNTに変更しました。すべてのTks –

答えて

0

私はROWCOUNTを@@するROW_NUMBERを変更し、それが動作します! Tksすべて

0

MAX(フィールド)も使用できます。 しかし、ADVPLを使用しているので、代わりにdbSeekを使用して最後のRECNOを見つけることができます。 "work area"を使用すると、最後のレコードは次のようになります。 TRB->(RECCOUNT())