Сравнение по нескольким параметрам в таблице?

Таблица `Дата`
id | data
---------
1 | text
2 | text2

Таблица `Пользователи`
id | name
---------
1 | name1
2 | name2

`Таблица связи`
user_id | data_id
---------
1       | 2
1       | 1
2       | 1

Нужно когда я под пользователем 1, ни чего не выводить
id | data
---------

когда я под пользователем 2, вывести только
id | data
---------
2 | text2


Пробовал так (названия на русском для большей понятности)
RIGHT JOIN
             `Таблица связи`
    ON
                `Таблица связи`.`user_id`   != `Пользователи`.`id`
          AND
                `Таблица связи`.`data_id`   != `Дата`.`id`

В какую сторону копать?
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
@MrTimon
Чтото не пойму что значит
когда я под пользователем 1
или
когда я под пользователем 2
, вот так к примеру должно быть то что вам нужно. Или нет?
SELECT 
* 
FROM 
    `Таблица связи` 
LEFT JOIN 
    Таблица 1 
ON 
    `Таблица связи`.data_id = `Таблица 1`.id 
WHERE
   `Таблица связи`.user_id  <> 1

Там где 1 можно написать любое другоє условие, where user_id not in (id1, id2,..) или вообще другой запрос подставить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы