簡體   English   中英

MySQL查詢理解

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM