0

SQL クエリをネストする最善の方法についてアドバイスが必要です。スタンドアロン クエリとして正常に機能する追加情報を取得するための新しいクエリを作成しましたが、MoveNext(); を配置しようとすると、コマンドを元の直前に挿入すると、ページの読み込みが失敗します。以下に例を挙げます。

$new_query = "SELECT new_values,new_price
FROM new_table
WHERE new_options_id = 2
AND language = 1";

$new_result = $db->Execute($new_query); 
while (!$new_result->EOF){
$newdata = $new_result->fields['new_values']
$newprice = $new_result->fields['new_price'];

$original_query = "SELECT * FROM this_table WHERE orders_id = '$ship_order_id' and class = 'ot_subtotal'";
$original_result = $db->Execute($original_query);

SOME CODE IN HERE

while (!$original_result->EOF) {

MORE CODE HERE WITH SEVERAL {

RESULTS OF ORIGINAL QUERY ARE OUTPUT
RESULTS OF NEW QUERY ARE OUTPUT

$new_result->MoveNext();
$original_result->MoveNext();

}
} 

MORE CODE WITH CLOSING } FROM EARLIER CODE

問題は、新しい MoveNext() とそれに関連付けられている } を挿入すると、ページの読み込みが停止することです。新しいクエリのデータ コレクションを元のクエリに含めることを検討しましたが、私の SQL の知識は限られています。元のループ内で結果をループできるように、これを回避する別の方法はありますか?

4

1 に答える 1

0

複数のクエリがある場合は、複数のステートメントオブジェクトが必要です。そうでない場合は、前のステートメントオブジェクトを2番目のクエリで再利用すると、前のステートメントの前の結果が削除されます。

2番目のステートメントオブジェクトを導入するだけで問題ありません。

さらに、使用しているデータベースクライアントライブラリがないことを伝えたため、具体的な提案はできません。

于 2013-01-08T20:42:24.527 に答える