2012-05-12 13 views
0

私はROW_NUMBERでページごとに表示される結果の量をJOINと制限INNERと一緒に2つのテーブルを接続しようとしています:ROW_NUMBER()は、SQL Server 2008の改ページを登録しよう

$tsql = "SELECT * 
FROM (SELECT ROW_NUMBER() OVER(ORDER BY productID) AS 
rownum, * FROM products INNER JOIN product_catalogue ON products.catalogueID = product_catalogue.catalogueID 
     WHERE category1 = '1') AS products1 
WHERE rownum >= 0 AND rownum <= 6"; 

    $stmt = sqlsrv_query($conn,$tsql); 

while($row = sqlsrv_fetch_array($stmt)){ 
     echo $row['productID']. "<br/>"; 
     echo $row['product_name']. "<br/>"; 

    } 

私は(」sqlsrv_fetch_arrayを取得する)期待しますリソース」エラーするパラメータ1、と私は、私はそれなしでクエリを実行する場合、私は自分のページに表示される結果を得るためには、INNER JOINを使用して、私とは何かを持って知っている:

$tsql = "SELECT * 
FROM (SELECT ROW_NUMBER() OVER(ORDER BY productID) AS 
rownum, * FROM products) AS products1 
WHERE rownum >= 0 AND rownum <= 6"; 

答えて

0

私はあなたが話して推測しますMS SQLサーバー。 私は、PHPのコードしないが、あなたは最初に、次のことを確認する必要があります:

  1. は、クエリの作品があなた多分あなたは、二重命名した特定のカラム名、唯一のSQL(SSMSでMS SQL)
  2. を使用しています列!例えば"id"という名前の2つの列 次に、同じ結果が2倍になりますが、SQLの場合は の問題はありませんが、ほとんどのデータベース・コネクター・ドライバーに問題があります
  3. すべてが機能しない場合は、CREATE QUERY qry_yourQuery AS ) SELECT * FROM qry_yourQueryを使用して