このクエリを試してください
select
tmp.name,
tmp.gid,
a.value
from
(select
a.*,
b.*
from
(select
distinct gid
from
tbl1 a
)a,
tbl2 b
) tmp
left join
tbl1 a
on
a.typeid=tmp.id and
a.gid = tmp.gid
order by --OPTIONAL PART
tmp.gid
編集
派生テーブルは、このクエリのメイン テーブルであり、各グループに関連付けられた各ユーザーを提供tmp
する一意の tbl2 日付とのクロス結合によって派生されます。table は、必要なテーブルを提供するスコア テーブルである tbl1 と結合されたままです。各派生テーブルをフィドルで個別に実行して、適切に機能していることを理解できます。gid
tmp
Fiddle (適切な理解のために、各クエリは個別に言及されています)
| NAME | GID | VALUE |
-----------------------
| A | 1 | 5 |
| B | 1 | 10 |
| C | 1 | (null) |
| D | 1 | (null) |
| E | 1 | (null) |
| A | 2 | (null) |
| B | 2 | (null) |
| C | 2 | 6 |
| D | 2 | (null) |
| E | 2 | (null) |