试试这个查询
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
是此查询的主表,它是通过具有唯一gid
性和 tbl2 日期的交叉联接派生的,该日期为每个用户提供与每个组相关联的数据。tmp
表与 tbl1 左连接,其中给出所需表的分数表。您可以在小提琴中单独运行每个派生表以了解其正常工作。
小提琴(为了正确理解每个查询单独提及)
| 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) |