私は現在、SQLを学習し、次の操作を行う方法を考え出すいくつかの問題を持っている:SQLクエリ質問
テーブル:
Planned Order
id Item Date
0 1 2011-01-24
1 1 2011-01-26
2 1 2011-01-28
3 2 2011-01-24
4 3 2011-01-27
Customer Order
id Item Date
4 2 2011-01-25
3 2 2011-01-24
2 2 2011-01-24
1 1 2011-01-26
0 1 2011-01-24
私が生成されます次のクエリを作成しようとしていた:
Item Category 2011-01-24 2011-01-25 2011-01-26
1 Customer_Order 1 NULL 1
1 Planned_Order 1 NULL 1
2 Customer_Order 2 NULL NULL
2 Planned_Order 1 NULL NULL
3 Planned_Order NULL NULL NULL
ここで、日付の下のカウントは、その日にアイテムが注文された回数です。
これはraw SQLコードでも可能ですか?私はこれがperlのような他の言語を介してデータを操作し、複数のデータベースアクセスを介して行うことができることを認識していますが、私はこれをraw SQLから直接実行したかったのです。
クエリを列から変換して行に変換するコマンド(raw sql)が見つかりません。どのように私は日付をクエリし、上記のように各日付の列を生成します。 SQL Serverの(2005/2008)で
を必要としますが、SQL ServerまたはMySQLや何か他のものを使用していることでしょうか? –
Drackirの質問に加えて、.NETや他のプログラミング言語を使用していますか?結果を得て、必要なレイアウトにフォーマットする必要があるかもしれません。 – nybbler
動的な列を行の値(この場合はdate)から作成するのは、各データベースで異なる解決策が必要な難しい作業ですが、少なくともGoogleではピボットテーブルを使用する必要があるため、正確な答えはわかりません。 – GolezTrol