如何访问不在第三联结表中的两个多对多表中的一个中的记录?

时间:2018-07-17 15:42:29

标签: sql web2py

对于可能的多对多关系,在规范化过程中创建了第三个表,该表用作定义多对多关系的联结表。

现在我有两个表,一个叫做“ matter”,另一个是“ user”,那么我有这两个表的第三个联结表叫做“ matter_user”,它同时引用了“ matter”和“ user”表。 我的问题是我如何为用户分配问题,以使该用户从该特定事务的未分配列表中删除,但在将用户分配给其他事务的情况下仍会出现。

1 个答案:

答案 0 :(得分:0)

我认为您可能在脑子里把这个复杂化了。

  • 您有一个User表。它具有用户及其信息。
  • 您有一个物质表。这很重要,还有他们的信息。
  • 您有一个Matter_User表。它仅包含两列:UserID 和一个MatterID。

那么您如何为用户分配问题?您只需将MatterID和UserID添加到该第三张表的新行中即可。

  

“但是如果他们已经在那儿呢?”

您始终可以在添加该条目之前简单地检查该条目是否已经在第三张表中。

  

”但是,如果我想获得用户不是的事项列表怎么办   已经分配给?对于组合列表或其他内容?”

然后查询Matter表,并放置其不在MatterID中的where子句之一

    Select MatterID from Combined where UserID = @UserGettingListFor

... aka,“向我显示我关心的特定UserID下组合表中尚未存在MatterID的所有事项。

有道理吗?