2012-01-14 10 views
1

MySQLでは、数値引数をとり、その数値に基づいて別のテーブルの結果の一部を吐き出す関数があります。MySQLでselect文にループを持つカラムを生成する

 
SELECT 
    id, 
    date, 
    function(do stuff with value 1) as t1, 
    function(do stuff with value 2) as t2, 
    function(do stuff with value 3) as t3, 
    ... 
    function(do stuff with value N) as tN 
FROM table 

はあなたがselect文(またはテーブルを構築しても手順)でループを使用することができますので、上記のようになります:インプリメンテーションは、現在のように見える

 
SELECT 
    id, 
    date, 
    LOOP x = 1 through N 
    function(do stuff with value x) as tx, 
    END LOOP 
FROM table 

感謝。

+1

この選択文は、大きなプロジェクトの一部ですか?あなたは呼び出し言語(php、javaなど)のループを使用してselect文の文字列を生成することを検討しましたか? – JustinDanielson

+0

私は可能な限りMySQLの内部でこれほど多くのことをやろうとしています。プロジェクトと私の学習の両方です。理想的には、クエリはテーブルの中で選択され、さらに使用されます。 – Trees4theForest

+0

これで、sqlだけでn + 2列を動的に選択しようとしていますか?それが可能かどうかわかりません。これまでのクエリはありますか、または開始する前に可能かどうかを確認しようとしていますか?私はそれがだとは思わないし、グーグルが解決策を見つけることに私を近づかせていない。 – JustinDanielson

答えて

3

はいあなたは...あなたが準備し、その後、実行したいSQL文を含む文字列を構築し、一般的に

Here's one sample

and another example

.. DynamicSQLに見てみることができますそれを実行してください...

関連する問題