SQL JOIN поможет. Вывод table.rowName * 3 на основе таблицы связывания - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть таблица ссылок со всеми идентификаторами связанных таблиц.

Мой JOIN не работает, хотя:

       $strSql="SELECT clients.clientName,
           projects.projectName,
           projectTemplates.projectTempName
    FROM   projectTempList
    JOIN   clients ON projectTempList.clientID = clients.clientID
    JOIN   projects ON projectTempList.projectID = projects.projectID
    JOIN   projectTemplates ON projectTempList.projectTemplateID = projectTemplates.projectTempID
    WHERE  projectTempList.projectCostID = $intProjectCostId";

Структура в моей таблице ссылок:

 projectTempList ->    projectID, clientID, projectTemplateID, projectCostID

Мне нужно выбрать clientName, projectName, projectTempName из clients, projects и projectTemplates , Это основано на наличии связанной таблицы с соответствующими идентификаторами в таблице с именем projectTempList.

У меня есть costID в переменной.

РЕДАКТИРОВАТЬ JOIN clients ON projectTempList.clientID = clients.clientID необходимо, чтобы былклиент клиентов.projectclientID.

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 22 сентября 2011

Несколько вещей:

  • Выведите echo $strSql; и посмотрите, ожидаете ли вы этого. Протестируйте его непосредственно с MySQL (например, PHPMyAdmin)
  • Убедитесь, что вы не возвращаете никаких ошибок с echo mysql_error();
  • Вы упомянули наличие clientID, но в вашем предложении WHERE используется projectCostID
  • Помните о SQL-инъекции , т.е. правильно экранируйте $intProjectCostId с чем-то вроде " . (int)$intProjectCostId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...