Что не так, мой синтаксис SQL - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь запросить мою базу данных.
Это мой SQL код:

SELECT `traveller.ticket_no`,`traveller`.`fname`,`traveller`.`lname`,`destination`.`d_name`,`plane`.`plane_name`,`flights`.`flight_name`
FROM `traveller`,`destination`,`flights`,`plane`,`checked`
WHERE `destination`.`destination_id`=`flights`.`d_id`,`plane`.`plane_id`=`flights`.`p_id`,`checked`.`flight_id`=`flights`.`flight_id`,`checked`.`t_id`=`traveller`.`ticket_no`
AND `traveller`.`ticket_no`="1"


Я получаю ошибку:

1064 - у вас ошибка в синтаксисе SQL;

проверьте руководство, соответствующее вашей версии сервера MariaDB для правильный синтаксис для использования рядом 'plane.plane_id = flight.p_id, checked.flight_id = flight.flight_id' в строка 3

Что не так в моем SQL утверждении. Любая помощь очень ценится.

Ответы [ 4 ]

0 голосов
/ 29 апреля 2018

Попробуйте этот запрос

SELECT traveller.ticket_no`,`traveller`.`fname`,`traveller`.`lname`,`destination`.`destination_id`,`destination`.`d_name`,`plane`.`plane_id`,`plane`.`plane_name`,`flights`.`flight_id`,`flights`.`p_id`,`flights`.`d_id`,`flights`.`flight_name`,`checked`.`t_id`,`checked`.`flight_id`

FROM `traveller`,`destination`,`flights`,`plane`,`checked`

WHERE `destination`.`destination_id`=`flights`.`d_id` AND `plane`.`plane_id`=`flights`.`p_id` AND `checked`.`flight_id`=`flights`.`flight_id` AND `checked`.`t_id`=`traveller`.`ticket_no` AND `traveller`.`ticket_no`="1"
0 голосов
/ 29 апреля 2018

Вам, вероятно, нужно что-то вроде

SELECT `traveller.ticket_no`,`traveller`.`fname`,`traveller`.`lname`,
        `destination`.`d_name`,`plane`.`plane_name`,
        `flights`.`flight_name`
    FROM `traveller`,`destination`,`flights`,`plane`,`checked`
    WHERE `destination`.`destination_id`=`flights`.`d_id` 
        and `plane`.`plane_id`=`flights`.`p_id` 
        and `checked`.`flight_id`=`flights`.`flight_id` 
        and `checked`.`t_id`=`traveller`.`ticket_no`
        AND `traveller`.`ticket_no`="1"

Может также стоить изучить более современный JOIN синтаксис.

(просто чтобы добавить из исходного комментария) Разница в том, что у вас есть запятая между предложениями в вашем выражении WHERE, поэтому я изменил запятые на and.

0 голосов
/ 29 апреля 2018

Изменить на:

  WHERE `destination`.`destination_id`=`flights`.`d_id` 

    and `plane`.`plane_id`=`flights`.`p_id` 

    and `checked`.`flight_id`=`flights`.`flight_id` 

    and `checked`.`t_id`=`traveller`.`ticket_no`

    AND `traveller`.`ticket_no`="1"
0 голосов
/ 29 апреля 2018

Используйте этот запрос, я надеюсь, что он работает

   SELECT `traveller.ticket_no`,`traveller`.`fname`,`traveller`.`lname`,`destination`.`d_name`,`plane`.`plane_name`,`flights`.`flight_name`
    FROM `traveller`,`destination`,`flights`,`plane`,`checked`
    WHERE `destination.destination_id`=`flights.d_id`,`plane.plane_id`=`flights.p_id`,`checked.flight_id`=`flights.flight_id`,`checked.t_id`=`traveller.ticket_no`
    AND `traveller.ticket_no`="1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...