Результаты MySQL Filter - PullRequest
       16

Результаты MySQL Filter

1 голос
/ 03 февраля 2010

В моем SQL есть таблица в следующей структуре, называемая действиями:

+----+--------+------+---------+
| 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;

Но в некоторых случаях это не работает, поскольку admin user_id не всегда равен 1.

Как мне выбрать все действия, кроме действий администратора, я пытался возиться с JOINS, но не могу понять.

Надеюсь, вы понимаете, о чем я.

Приветствия

Eef

1 Ответ

2 голосов
/ 03 февраля 2010
SELECT * FROM actions inner join users
on actions.user_id = users.id 
WHERE users.username != "admin";

при условии, что все администраторы имеют имя пользователя "admin"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...