sql >> データベース >  >> RDS >> Mysql

列の整数値に基づいて結果の行を繰り返します

    クエリ(SQL)ではなく解決したほうがいいと思います。生成機能はありますが、パフォーマンスは良くありません。

    モデルを変更する(常に1つの数量を保存する)か、バックエンド(java / c / stb。)で処理する必要があります

    Select id, 
           1 as quantity, 
           price_charged 
    from table_name t
    JOIN 
    (SELECT e*10000+d*1000+c*100+b*10+a n FROM
    (select 0 a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t1,
    (select 0 b union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t2,
    (select 0 c union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t3,
    (select 0 d union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t4,
    (select 0 e union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) t5) counter
    ON (counter.n<=t.quantity)
    

    結合されたサブクエリは、0から99999までの数値を再取得しました。これは、数量の最大値です。カウンター0...数量-1の値による結合の繰り返し。



    1. conn.Open()を使用しようとしたときにC#MySQLSSL接続エラーが発生しました

    2. オブジェクト[INFORMATION_SCHEMA]。[TABLES]への未解決の参照

    3. pl / sqlを使用してHMAC-SHA256で文字列をエンコードするにはどうすればよいですか?

    4. ボタンを使用してテーブルの特定の行を更新します