-2

と の 2 つのテーブルがUsersありDocumentsます。

1 ユーザーは 0 個または複数のドキュメントを持つことができます。

各ユーザーとそのドキュメントを表示したいのですが、問題: ドキュメントを持たないユーザーを次のような結果で表示したいと思います ( IdUsers 3 と 5 にはドキュメントがないと仮定します):

IdUser IdDocument DocumentName
====== ========== ============
1      1          test11.pdf
1      2          test12.pdf
1      3          test13.pdf
2      4          test21.pdf
2      5          test21.pdf
3      NULL       NULL
4      6          test41.pdf
5      NULL       NULL
4

1 に答える 1

1

LEFT JOINこの操作を実行するには、 を使用します。

create table users
(
  userid int
)

create table documents
(
  documentid int,
  userid int,
  documentname varchar(10)
)

insert into users values (1)
insert into users values (2)
insert into users values (3)
insert into users values (4)

insert into documents values (1, 1, 'test')
insert into documents values (2, 1, 'test 1')
insert into documents values (3, 2, 'test 2')
insert into documents values (3, 3, 'test 3')

select *
from users u
left join documents d
on u.userid = d.userid

テストについてはsqlfiddleを参照してください

について調査を行う必要がありますJOINs。ここに の適切な説明がありJOINsます。

SQL 結合の視覚的な説明

于 2012-04-16T14:21:59.333 に答える