SQL-запрос не совсем правильный с 3-мя объединениями - PullRequest
0 голосов
/ 14 марта 2019

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

3 поля, которые мне нужны:

  • fldDate - который содержится внутри tblCompetition
  • fldCatName - который содержится внутри tblCategory
  • fldName -Который содержится внутри tblImage

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

Table Design

Мой запрос, который у меня есть на данный момент:

$query ="SELECT `fldDate`, `fldCatName`, `fldName`
FROM `tblMembEntComp`
JOIN `tblImage` ON `tblMembEntComp`.`fldMemberID` = `tblMembEntComp`.`fldMemberID`
JOIN `tblCompetition` ON `tblMembEntComp`.`fldCompID`= `tblCompetition`.`fldCompID`
WHERE `fldMemberID` = 1;"

Появляется ошибка: Unknown column 'fldCatName' in 'field list', может кто-нибудь объяснить, где я ошибаюсь.

1 Ответ

2 голосов
/ 14 марта 2019

Вы не присоединяетесь к таблице tblCategory с таблицей tblImage. Вот почему MySQL не может найти поле fldCatName Ваш запрос должен быть

$query ="SELECT `fldDate`, `fldCatName`, `fldName`
FROM `tblMembEntComp`
JOIN `tblImage` ON `tblMembEntComp`.`fldMemberID` = `tblMembEntComp`.`fldMemberID`
JOIN `tblCompetition` ON `tblMembEntComp`.`fldCompID`= `tblCompetition`.`fldCompID`
JOIN `tblCategory` ON `tblImage`.`fldCatID` = `tblCategory`.`fldCatID`
WHERE `tblMembEntComp`.`fldMemberID` = 1;"

Возможно, вы захотите использовать различные виды объединений в зависимости от вашего варианта использования. Это поможет

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