簡體   English   中英

具有開始和限制的PHP mssql查詢-追加到查詢問題

[英]PHP mssql query with start and limit - append to query issue

我通常使用PHP / MySQL進行編碼,但是對於此項目,必須使用MSSQL。

下面的邏輯在MySQL中可以使用,但是因為在MSSQL中設置限制是一個非常復雜的查詢,所以當我想追加到查詢時會引起問題。 我一直在處理該查詢,以試圖弄清楚應該如何,但無法使其正常工作。 請幫忙。

    //get all products for shopkeeper
    if($limit == 0) {
        $prod_qry = "SELECT id, productName FROM products WITH(NOLOCK) WHERE shopkeeper = '$this->shopkeeper'";
    }
    if($limit > 0) {
        $prod_qry = "SELECT * FROM ( SELECT id, productName, ROW_NUMBER() OVER (ORDER BY id) as row  FROM products WITH(NOLOCK)  WHERE shopkeeper='$this->shopkeeper'  ) a WHERE row > $start and row <= $limit";
    }
    if($hidden == 1) {
        $prod_qry .= " AND Hidden !='1'";
    }

    if($rating != 0) {
        $prod_qry .= " AND rating > '$rating'";
    }

* 編輯 *我已經弄清楚了,下面修改了代碼:

    $prod_qry = "SELECT * FROM ( SELECT id, productName, ROW_NUMBER() OVER (ORDER BY id) as row  FROM products WITH(NOLOCK)  WHERE shopkeeper='$this->shopkeeper'" ;

    if($hidden == 1) {
        $prod_qry .= " AND Hidden !='1'";
    }

    if($rating != 0) {
        $prod_qry .= " AND rating > '$rating'";
    }       

    $prod_qry .= ") a ";    

    if($limit > 0) {
        $prod_qry .= " WHERE row > $start and row <= $limit";
    }   

我已經用答案編輯了上面的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM