1
我有一個表,我在下面的結構,稱爲行爲SQL:MySQL的篩選結果
+----+--------+------+---------+
| id | action | type | user_id |
+----+--------+------+---------+
| 1 | 5 | 4 | 1 |
| 2 | 6 | 4 | 1 |
| 3 | 5 | 4 | 2 |
| 4 | 0 | 0 | 2 |
| 5 | 0 | 1 | 2 |
+----+--------+------+---------+
和我有用戶表所示:
+----+------------+----------------------------------+----------+
| id | fullname | password | username |
+----+------------+----------------------------------+----------+
| 1 | Admin User | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | admin |
| 2 | Arthur | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | arthur |
| 3 | john | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | john |
+----+------------+----------------------------------+----------+
我想選擇所有的動作從行動表除了管理員操作,我已經嘗試過:
SELECT * FROM actions WHERE user_id != 1;
但是,這在某些情況下不起作用因爲管理員user_id並不總是1.
我該如何去選擇除管理員操作之外的所有操作,我嘗試過使用JOIN搞亂但無法弄清楚。
希望你明白我的意思。
乾杯
EEF
爲了回答這個問題,需要一些更多的信息。最重要的是:如果管理員不總是有'user_id = 1',你怎麼知道用戶是否是admin。我們應該使用'username = admin'嗎?作爲備忘錄:「類型」是什麼意思?如果在兩行中「行動」是相同的,那麼這是否意味着「類型」也是一樣的?如果是這種情況,您可能需要爲操作類型使用單獨的表格。 – Martijn 2010-02-03 09:33:43
管理員用戶始終存在於系統中,因爲它是在安裝過程中創建的默認用戶。 – RailsSon 2010-02-03 09:49:57