首先,我想说的是,我确实看到这是一种愚蠢的做事方式——而且我可以没有我所要求的生活,但是很高兴看看这是否可能。
好的,想象一下我有这些表 - 它们不是我真正拥有的,但它仍然应该显示同样的问题:
mutex: (table, row_id)
events: (id, title, location)
files: (id, title, filesize)
groups: (id, name)
groups_to_content: (group_id, table, row_id)
在当前这个时间点,如果我想返回有关特定用户创建的所有事件和文件的详细信息,我可以使用极其复杂但快速的视图来做到这一点。那一点,我没有问题。
但是,我确实有一个问题是与团体有关。在我目前的观点中 - 如果一个文件/事件没有被分配给一个组,那么group_id
当然会是 NULL。如果我已将一个事件分配给一个组(通过groups_to_content
),它group_id
当然也会被填充:
+---------+----------+------------+--------------------+
| table | row_id | group_id | title |
+---------+----------+------------+--------------------+
| event | 1 | NULL | some event |
| event | 2 | NULL | some event |
| event | 3 | 1 | grouped event |
+---------+----------+------------+--------------------+
但是,我希望它包含由拥有它的组拥有的事件(系统中可以有多个组所有权)和group_id
as NULL
,如下所示:
+---------+----------+------------+--------------------+
| table | row_id | group_id | title |
+---------+----------+------------+--------------------+
| event | 1 | NULL | some event |
| event | 2 | NULL | some event |
| event | 3 | NULL | grouped event |
| event | 3 | 1 | grouped event |
+---------+----------+------------+--------------------+
这是可能吗?