複数のテーブルを結合し、テーブルの行を同じテーブルの値を持つ列として表示します

WhiteCode

私はこのような複数のテーブルを持っています:

テーブル

'where table1.id = 1'を使用すると、図のような結果が必要です。

  • table2は、ストア値と列名のキーです。

  • table3は、表示する必要のあるストア列の名前です

結果は次のようになります

ID | Name | A | B | C
1  | a | 10 | 20 | 30
ヨゲシュシャルマ

あなたJOIN条件付きの集約で少し必要です:

select t1.id, t1.name, 
       sum(case when t3.name = 'a' then t2.value else 0 end) as A,
       sum(case when t3.name = 'b' then t2.value else 0 end) as B,
       sum(case when t3.name = 'c' then t2.value else 0 end) as C
from table1 t1 inner join 
     table2 t2
     on t2.table1_id = t1.id inner join
     table3 t3
     on t3.key_id = t2.key
where t1.id = 1
group by t1.id, t1.name;

ただし、これは事前に既知の値のみで集計を行います。動的な方法で実行する場合は、MySQLでのプログラミングアプローチが必要になる場合があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

同じテーブルの複数の行を1つに結合します

分類Dev

同じテーブルの複数の結合(複数の条件)を持つSQLをLINQに変換します

分類Dev

SQL Server、同じ列を持つ複数のテーブルに結合します

分類Dev

MYSQL同じテーブルの複数の列を結合します

分類Dev

追加する複数の参照と2つの値を持つ2つのテーブルを結合します

分類Dev

複数のテーブルから同じ列を結合します

分類Dev

日付表示の複数の行を持つ2つのテーブルを、他のテーブルの1つの行に結合します

分類Dev

同じテーブルの2つを別のテーブルに結合し、同じ行の(同じ)テーブルの情報を出力します

分類Dev

同じ複合キーで2つのテーブルを結合します

分類Dev

複数の参照を持つテーブルへの単一の参照を持つSQLServerテーブルを結合しようとしています

分類Dev

1つの列値に基づいてSQLテーブルの複数の行を結合します

分類Dev

複数の列すべてを別のテーブルの同じ列に結合します

分類Dev

複数のテーブルの複数の列の値を結合します

分類Dev

最大値を持つテーブルを取得して2つのテーブルを結合します

分類Dev

IDごとに1行、同じIDの複数行のテーブルから複数の列を持つテーブルを取得し、条件に基づいて合計を計算します

分類Dev

同じキーを使用して、複数のテーブルを1つのベーステーブルに結合します

分類Dev

同じ列名の複数のテーブルを結合します

分類Dev

2つのテーブルを作成し、NAの行に同じ変数を持つ値を入力します

分類Dev

SQL:同じテーブルの結果で複数の行を更新します

分類Dev

テーブルの複数の行を1つの行に結合しようとしています

分類Dev

同じIDと日付の2つのテーブルを結合します

分類Dev

重複することなく同じ列を持つ2つのテーブルを結合するビューを作成します

分類Dev

別のテーブルの値と同様の列名を持つ複数のテーブルの列を削除します

分類Dev

同じ列値を持つ特定の数のレコードを別のテーブルに挿入します

分類Dev

テーブルAからすべての行を選択し、同じ結果セットでテーブルBから複数の列を選択します

分類Dev

2つのテーブルを結合し、1つのテーブルの列を行として表示します

分類Dev

複数のテーブルをマージし、同じ列をカンマ分割で結合します

分類Dev

LINQ:Linqを使用して複数のテーブル列を結合し、子テーブルの値から集計された合計を見つけます

分類Dev

複数のテーブルを結合して、テーブルの列を更新します

Related 関連記事

  1. 1

    同じテーブルの複数の行を1つに結合します

  2. 2

    同じテーブルの複数の結合(複数の条件)を持つSQLをLINQに変換します

  3. 3

    SQL Server、同じ列を持つ複数のテーブルに結合します

  4. 4

    MYSQL同じテーブルの複数の列を結合します

  5. 5

    追加する複数の参照と2つの値を持つ2つのテーブルを結合します

  6. 6

    複数のテーブルから同じ列を結合します

  7. 7

    日付表示の複数の行を持つ2つのテーブルを、他のテーブルの1つの行に結合します

  8. 8

    同じテーブルの2つを別のテーブルに結合し、同じ行の(同じ)テーブルの情報を出力します

  9. 9

    同じ複合キーで2つのテーブルを結合します

  10. 10

    複数の参照を持つテーブルへの単一の参照を持つSQLServerテーブルを結合しようとしています

  11. 11

    1つの列値に基づいてSQLテーブルの複数の行を結合します

  12. 12

    複数の列すべてを別のテーブルの同じ列に結合します

  13. 13

    複数のテーブルの複数の列の値を結合します

  14. 14

    最大値を持つテーブルを取得して2つのテーブルを結合します

  15. 15

    IDごとに1行、同じIDの複数行のテーブルから複数の列を持つテーブルを取得し、条件に基づいて合計を計算します

  16. 16

    同じキーを使用して、複数のテーブルを1つのベーステーブルに結合します

  17. 17

    同じ列名の複数のテーブルを結合します

  18. 18

    2つのテーブルを作成し、NAの行に同じ変数を持つ値を入力します

  19. 19

    SQL:同じテーブルの結果で複数の行を更新します

  20. 20

    テーブルの複数の行を1つの行に結合しようとしています

  21. 21

    同じIDと日付の2つのテーブルを結合します

  22. 22

    重複することなく同じ列を持つ2つのテーブルを結合するビューを作成します

  23. 23

    別のテーブルの値と同様の列名を持つ複数のテーブルの列を削除します

  24. 24

    同じ列値を持つ特定の数のレコードを別のテーブルに挿入します

  25. 25

    テーブルAからすべての行を選択し、同じ結果セットでテーブルBから複数の列を選択します

  26. 26

    2つのテーブルを結合し、1つのテーブルの列を行として表示します

  27. 27

    複数のテーブルをマージし、同じ列をカンマ分割で結合します

  28. 28

    LINQ:Linqを使用して複数のテーブル列を結合し、子テーブルの値から集計された合計を見つけます

  29. 29

    複数のテーブルを結合して、テーブルの列を更新します

ホットタグ

アーカイブ