Ошибка соединения трех таблиц в mysql с перекрестным соединением - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу получить некоторые детали, которых нет в таблице оценок с именем пользователя, и я сделал перекрестный запрос.но он показывает мне синтаксическую ошибку

SELECT applications.reference as "User id", applications.id
FROM applications
cross join ratings where (applications.id) NOT IN ( SELECT ratings.application_id FROM ratings )
INNER JOIN ratings ON users.id=ratings.user_id

ошибка показывает

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INNER JOIN ratings ON users.id=ratings.user_id LIMIT 0, 25' at line 2

Я хочу получить информацию о пользователе в приложениях, где нет в таблице оценок с именем пользователя в таблице пользователей.как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

ВЫБРАТЬ application.reference как «Идентификатор пользователя», application.id ИЗ приложений ВНУТРЕННИЕ РЕЙТИНГИ ВКЛЮЧЕНЫ users.id = ratings.user_id Перекрестное объединение рейтингов, где (application.id) НЕ ВХОДНО (ВЫБРАТЬ ratings.application_id ОТ рейтингов)

0 голосов
/ 04 декабря 2018

Я думаю, вам нужен такой запрос:

SELECT a.reference as "User id", a.id
  FROM applications a
 CROSS JOIN ratings r
 INNER JOIN users u ON u.id = r.user_id 
 WHERE a.id != r.application_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...