に1行を回しこれを行うには良い方法がありますが、私は、SQL Serverを使用しています2012年クエリでデータの列を正規化 -
私は以下のようになりますベンダーとしてで構築されたテーブルを持っています:
Customer, Date, Desc1, Qty1, Price1, Desc2, Qty2, Price2, Desc3, Qty3, Price3
これを返す結果セットが必要です。
Customer, Date, Desc, Qty, Price
私は今日、次のような解決策を講じていますが、誰かがより優れた効率性を備えていますか?
Select Customer, Date, Desc1, Qty1, Price1
UNION ALL
Select Customer, Date, Desc2, Qty2, Price2
UNION ALL
Select Customer, Date, Desc3, Qty3, Price3
あなたがが、あなたが声明 –
と*最高*ソリューションでこれを句を置くことができる場所を共通に持っている場合は、罰金であるにありますあなたの悪いテーブルのスキーマを修正してください。これは1NFではありません。繰り返しのグループがあります。あなたのテーブルは、おそらく 'line_number'カラムを含むクエリの出力のように見えるはずです。 – Bohemian
代替方法は存在しますが、使用しているデータベースのタイプによって異なります。 ** **常に**データベースに質問を付けてください(例:Sybase? MySQL?SQlL Serer?Oracle?...... more) –