[英]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.