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

SQLを使用して垂直方向のデータを水平方向のデータに変換するにはどうすればよいですか?

    使用しているデータベースに関係なく、達成しようとしていることの概念は「ピボットテーブル」と呼ばれます。

    mysqlの例を次に示します。 http://en.wikibooks.org/wiki/MySQL/Pivot_table

    一部のデータベースにはそのための機能が組み込まれています。以下のリンクを参照してください。

    SQLServer: http://msdn.microsoft.com/de-de/library /ms177410.aspx

    Oracle: http://www.dba-oracle.com/t_pivot_examples.htm

    いつでも手動でピボットを作成できます。結果セット内のすべての集計を選択してから、その結果セットから選択するだけです。あなたの場合、rel_idに関連する名前の数がわからないため、concat(mysqlではgroup_concatだと思います)を使用してすべての名前を1つの列に入れることができます。

    あなたのケースの疑似選択(私はmysqlを知りません):

    select rel_id, group_concat(name) from item group by rel_id
    


    1. アドホック接続文字列とMSAccessの異種クエリ

    2. MySQLに挿入するときにPHPで一重引用符をエスケープする

    3. Galera ClusterRecovery101-ネットワークパーティショニングの詳細

    4. 特定の列名を持つMySQLのすべてのテーブルを見つけるにはどうすればよいですか?