0

2 つの同一のテーブルを 1 つのテーブルにマージし、ユーザーを区別したいと考えています。2 つのテーブルは次のようになります。

Table1
**************
id, user, total
1, 1, 7
2, 2, 10
3, 3, 14


Table2
**************
id, user, total
1, 1, 4
2, 2, 7
3, 3, 3

この結果が欲しい:

user, total1, total2
1, 7, 4
2, 10, 7
3, 14, 3

SQL クエリはどのように表示されますか?

4

1 に答える 1

4

JOINのテーブルが必要になります。user

select t1.user,
  t1.total,
  t2.total as total2
from table1 t1
inner join table2 t2
  on t1.user = t2.user

デモで SQL Fiddle を参照してください

JOIN構文を学習するのに助けが必要な場合は、 JOIN の優れた視覚的説明( Jeff Atwood著) を参照してください。

このINNER JOIN構文は、両方のテーブル間で一致するすべての行を返します。

別のテーブルを追加する場合は、別のJOIN. コメントに基づいて、次を使用します。

select t1.user,
  t1.total,
  t2.total as total2,
  t3.department
from table1 t1
inner join table2 t2
  on t1.user = t2.user
inner join table3 t3
  on t1.user = t3.user
于 2013-03-09T22:44:07.307 に答える