从两个查询中检索聚合结果

时间:2015-06-10 12:41:58

标签: php string compare

我正在尝试找出比较2个查询的结果并显示差异的最佳方法。

  • 表1 =用户表
  • 表2 =页面表
  • 表3 =已分配表

实施例: 用户表中有用户1 用户2 用户1 已分配到10页,用户2 仅分配到1页。

这适用于查找已分配的页面,本例中只有1页。

SELECT * FROM assigned_table WHERE user= 2

但我无法弄清楚如何获得它无法访问的所有其他网页的结果。

这不起作用,因为 user 1 可以访问所有10个,因此它获取除 user2

之外的所有其他用户的结果
SELECT * FROM assigned_table WHERE user != 2

所以基本上我需要它来说明user2可以访问哪些页面,然后它无权访问哪些页面并单独显示两个结果

任何帮助都将不胜感激。

很抱歉,如果在其他地方发布了类似主题,则无法找到我要找的内容。

1 个答案:

答案 0 :(得分:1)

您应该使用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已分配给他/她的所有页面标题(页面名称)的列表。您的列名和表名需要更新。

拉出未分配给特定用户的所有论文。

select pagename 
from `Page Table` 
where id not in (select pageid from `Assigned table` where at.user = 2)
相关问题