Я получил код ошибки: 1064 sintaxys mysql верстак - PullRequest
0 голосов
/ 16 апреля 2020

Я смотрел эту ошибку, но ничего не нашел

КОД:

SELECT sv.id, sv.service_state_id as sstId, sha.id, sha.address, sha.user_guide as guide, sha.users_id, sst.id
FROM deliver_db_v2.service as sv
inner join deliver_db_v2.service_has_address as sha
inner join deliver_db_v2.service_state as sst
on sv.id = sha.users_id
on sv.sstId = sst.id;

Ошибка:

ВЫБРАТЬ sv.id, sv .service_state_id в качестве sstId, sha.id, sha.address, sha.user_guide в качестве руководства, sha.users_id, sst.id FROM delivery_db_v2.service в качестве sv внутреннего соединения. = sha.users_id on sv.sstId = sst.id Код ошибки: 1064. У вас ошибка в синтаксисе SQL; обратитесь к руководству, соответствующему вашей MySQL версии сервера, чтобы узнать правильный синтаксис для использования рядом с 'on sv.sstId = sst.id' в строке 6 0,094 se c

1 Ответ

1 голос
/ 16 апреля 2020

Вы неправильно поместили предложение ON первого внутреннего соединения.

Вы можете сделать:

SELECT
  sv.id, sv.service_state_id as sstId, sha.id, sha.address,
  sha.user_guide as guide, sha.users_id, sst.id
FROM deliver_db_v2.service as sv
inner join deliver_db_v2.service_has_address as sha on sv.id = sha.users_id
inner join deliver_db_v2.service_state as sst on sv.sstId = sst.id;

Каждый INNER JOIN должен иметь свое собственное предложение ON.

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