0
我通常在PHP/MySQL中編寫代碼,但對於此項目必須使用MSSQL。帶啓動和限制的PHP 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";
}
「但無法讓它工作。」你可以說得更詳細點嗎?什麼是錯誤信息? – 2012-01-04 13:22:27
如果您在運行之前輸出查詢,它看起來像什麼?它是否正確地形成? – ManseUK 2012-01-04 13:58:05
這是問題,我不知道如何正確地形成它,我不熟悉MSSQL。 – LeeTee 2012-01-04 14:02:10