У меня на сайте есть таблица со списком проектов. Приведенный ниже оператор SQL извлекает каждый проект и преобразует столбцы ### _ id в имя ### _ в другой таблице. Все идет нормально.
У меня проблема в том, что для этого необходимо заполнить все поля в строке в таблице проектов. Если, например, в строке проекта нет значения для proj_industry_id, то проект здесь вообще не будет отображаться.
Я попытался удалить «И» для каждого совпадения в операторе WHERE и разделить их запятыми, но возникла ошибка.
Я также проверил документы SQL и, похоже, не могу найти там ответ.
Любые идеи о том, как я могу заставить мое утверждение по-прежнему соответствовать идентификатору с именем, когда оно у меня есть, но все же показывать запись, когда у меня нет?
Спасибо!
$sql = "SELECT
projects.*,
engagement_types.eng_type_name AS eng_type,
users.user_full_name AS username,
industries.industry_name AS industry_name,
categories.category_name AS category_name,
geographies.geo_name AS geo_name,
status.status_name AS status_name
FROM
projects,
engagement_types,
users,
industries,
categories,
geographies,
status
WHERE
projects.proj_eng_type_id = engagement_types.id
AND projects.proj_lead_id = users.id
AND projects.proj_industry_id = industries.id
AND projects.proj_category_id = categories.id
AND projects.proj_geo_id = geographies.id
AND projects.proj_status_id = status.id
AND projects.proj_geo_id = '$selected_geo_id'";
*****РЕДАКТИРОВАТЬ******
Вот окончательный правильный код из решения ниже с использованием нескольких левых соединений!
SELECT
projects.*,
engagement_types.eng_type_name AS eng_type,
users.user_full_name AS username,
industries.industry_name AS industry_name,
categories.category_name AS category_name,
geographies.geo_name AS geo_name,
status.status_name AS status_name
FROM
projects
LEFT JOIN engagement_types ON projects.proj_eng_type_id = engagement_types.id
LEFT JOIN users ON projects.proj_lead_id = users.id
LEFT JOIN industries ON projects.proj_industry_id = industries.id
LEFT JOIN categories ON projects.proj_category_id = categories.id
LEFT JOIN geographies ON projects.proj_geo_id = geographies.id
LEFT JOIN status ON projects.proj_status_id = status.id
GROUP BY
proj_start_date






похоже, вам нужно посмотреть на "LEFT JOIN" https://www.w3schools.com/sql/sql_join_left.asp В противном случае вы пропустите левую часть зеленого круга.
Успешно справился. БЛАГОДАРЮ ВАС!