从两个查询中检索聚合结果
Retrieving aggregated results from two queries
我正在尝试找出比较 2 个查询的结果并显示差异的最佳方法。
- Table 1 = 用户 Table
- Table 2 = 页数 Table
- Table 3 = 已分配 table
示例:
用户table中有用户1和用户2。
用户 1 已分配到 10 个页面,用户 2 仅分配到 1 个页面。
这对于查找他们分配了哪些页面非常有效,在本示例中只有 1 页。
SELECT * FROM assigned_table WHERE user= 2
但我不知道如何获取它无法访问的所有其他页面的结果。
这不起作用,因为 用户 1 可以访问所有 10 个用户,所以它获得除 user2[=42 之外的所有其他用户的结果=]
SELECT * FROM assigned_table WHERE user != 2
所以基本上我需要它来说明 user2 可以访问哪些页面,然后它不能访问哪些页面并分别显示两个结果
如有任何帮助,我们将不胜感激。
抱歉,如果其他地方发布了类似主题,则无法找到我要找的内容。
你应该为此使用 join
。这是关于此 https://dev.mysql.com/doc/refman/5.0/en/join.html.
的文档
类似
select pt.pagename from `Assigned table` as at
join `Page Table` as pt
on at.pageid = pt.id
where at.user = 2
这将为您提供用户 2 分配给 him/her 的所有页面标题(页面名称)的列表。您的专栏和 table 名称需要更新。
拉取所有未分配给特定用户的论文。
select pagename
from `Page Table`
where id not in (select pageid from `Assigned table` where at.user = 2)
我正在尝试找出比较 2 个查询的结果并显示差异的最佳方法。
- Table 1 = 用户 Table
- Table 2 = 页数 Table
- Table 3 = 已分配 table
示例: 用户table中有用户1和用户2。 用户 1 已分配到 10 个页面,用户 2 仅分配到 1 个页面。
这对于查找他们分配了哪些页面非常有效,在本示例中只有 1 页。
SELECT * FROM assigned_table WHERE user= 2
但我不知道如何获取它无法访问的所有其他页面的结果。
这不起作用,因为 用户 1 可以访问所有 10 个用户,所以它获得除 user2[=42 之外的所有其他用户的结果=]
SELECT * FROM assigned_table WHERE user != 2
所以基本上我需要它来说明 user2 可以访问哪些页面,然后它不能访问哪些页面并分别显示两个结果
如有任何帮助,我们将不胜感激。
抱歉,如果其他地方发布了类似主题,则无法找到我要找的内容。
你应该为此使用 join
。这是关于此 https://dev.mysql.com/doc/refman/5.0/en/join.html.
类似
select pt.pagename from `Assigned table` as at
join `Page Table` as pt
on at.pageid = pt.id
where at.user = 2
这将为您提供用户 2 分配给 him/her 的所有页面标题(页面名称)的列表。您的专栏和 table 名称需要更新。
拉取所有未分配给特定用户的论文。
select pagename
from `Page Table`
where id not in (select pageid from `Assigned table` where at.user = 2)