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'";
}
* EDIT * アイブ氏は、以下の改正コードそれを考え出した:
$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";
}
"ただし、動作させることはできません。"あなたはもっと具体的になりますか?エラーメッセージとは何ですか? –
実行前にクエリを出力すると、それはどのように見えますか?それは正しく形成されていますか? – ManseUK
これは問題です、私はそれを正しく形成する方法を知らない、私はMSSQLに慣れていません。 – LeeTee