-1

私は2つのテーブルを持っています。そのうちの 1 つは制限数を保持します。

そして、私は次のようなSQLを実行しようとしています

SELECT * FROM table WHERE x='1' LIMIT (another query)
4

4 に答える 4

0

準備済みステートメントを使用します。

PREPARE stmt FROM "SELECT * FROM table WHERE x='1' LIMIT ?";
SET @limit = (another query);
EXECUTE stmt USING @limit;
于 2012-06-04T22:56:01.907 に答える
0

MySQL では、通常のクエリを使用してそれを行うことはできません。LIMIT 句では変数を使用できません。LIMIT 句は定数のみを受け入れます。

通常のクエリの代わりにストアド プロシージャを使用する必要があります。

SPコード内で次のようなものを使用してみてください:

DECLARE offset bigint
SELECT your_field INTO offset FROM your_table where your_conditions
SELECT * FROM other_table LIMIT offset;
于 2012-06-04T21:59:03.373 に答える
0

Select TOP 句は行数を制限します。表情を入れることができます

http://msdn.microsoft.com/en-us/library/ms189463.aspx

于 2012-06-04T21:38:52.870 に答える
0

\私が数人に提案したことは、選択ステートメントからSQLを生成して実行することです。これが私の解決策です:

SELECT "select * from other_table LIMIT ", your_field 
FROM your_table where your_conditions

次に、この新しい SQL を実行します。もちろん、これは UNIX/Linux およびスクリプト言語で最適に機能します。

于 2012-06-04T22:14:31.770 に答える