[英]Mysql Query Understanding
我有一个关于如何查询此信息的快速问题
所以说在我的数据库中,我有以下主题
Welcome Center Group 1
Members Questions Group 2
Admin Ops Group 3
和一个用户表
User 1 Group 1
User 2 Group 2
User 3 Group 3
和一组表
1 Register User
2 Member
3 Admin
好的,那就像是一个数据库,现在说我只想注册一个组1的用户才能看到组1的项目。
"SELECT * FROM topic WHERE group = 1"
因此,他们看不到会员和管理员的资料。
这是问题开始的地方。
我需要在哪里找到查询,或者得知我们允许成员查看注册用户主题和成员主题。
"SELECT * FROM topic WHERE group = 1 AND group = 2"
如您所见,这个示例并不确定我是否需要这样做。
与管理员相同,我需要他们能够查看注册的用户主题,成员主题和管理主题。 所以这三个。
"SELECT * FROM topic WHERE group = 1 AND group = 2 AND group = 3"
正如您所看到的,在我浪费时间编写不是这样的东西但查询有点儿困扰我之前,我不是百分百确定这是否行得通。
如果要使所有主题都具有两个组,请使用aggregation和having
子句:
SELECT t.topic
FROM topic t
GROUP BY t.topic
HAVING SUM(group = 1) > 0 AND
SUM(group = 2) > 0;
请注意, group
是列的坏名称,因为它是保留字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.