下面語法在處理分頁的程式上很重要筆記筆記~

【ROW_NUMBER()】

   利用ROW_NUMBER(),建立一個新表格,再針對新表格查詢NewRow,

   由程式控制分頁數

   SELECT NewTable.*

   FROM (SELECT ROW_NUMBER() OVER(ORDER BY ACPT_VOU_NO) AS NewRow

             ,ACPT_VOU_NO,ACPT_VOU_TYPE,CASH_AMT

             FROM AC_ACPT_M 

             WHERE COMPANY_ID = 'PT') AS NewTable

   WHERE NewRow>= 1 AND NewRow<= 40

  【NOT IN】

   利用NOT IN和 TOP 來排除最前面的資料,達成可查詢中間的資料,

   但小弟比較偏好第一種寫法,好程序性也直接

   SELECT TOP 5 ACPT_VOU_NO,ACPT_VOU_TYPE,CASH_AMT

   FROM AC_ACPT_M AS QQ

   WHERE QQ.ACPT_VOU_NO NOT IN (SELECT TOP 5 ACPT_VOU_NO

                                                   FROM AC_ACPT_M

                                                    WHERE COMPANY_ID = 'PT'

                                                    ORDER BY ACPT_VOU_NO)

    AND QQ.COMPANY_ID = 'PT'

   ORDER BY QQ.ACPT_VOU_NO

arrow
arrow

    YCH 發表在 痞客邦 留言(0) 人氣()