2014-11-21 59 views
0

我有關於如何查詢這些信息MySQL查詢瞭解

讓我們在我的數據庫說我有

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" 

正如你可以看到,我不是百分之百肯定,這將工作之前,我浪費我的時間編碼是不會是這樣的東西,但查詢是在那裏我還挺停留在。

+1

也許你最好浪費一些時間編碼,然後在你的代碼不起作用時尋求幫助。 – JasonStack 2014-11-22 00:05:54

+1

組是保留字。也許有些事情你沒有告訴我們 – Strawberry 2014-11-22 00:08:56

回答

0

如果你想有兩個組的所有主題,然後使用聚合和having條款:

SELECT t.topic 
FROM topic t 
GROUP BY t.topic 
HAVING SUM(group = 1) > 0 AND 
     SUM(group = 2) > 0; 

注意group是一列一個不好的名字,因爲它是一個保留字。