То, что вы на самом деле хотите, это LEFT JOIN
.Используйте LEFT JOIN
, если есть страны без достопримечательностей.Попробуйте это:
$sql = "SELECT c.name, c.capital, c.population, c.description, a.attraction_name
FROM countries c
LEFT JOIN attraction_list a ON a.country_name = c.name
WHERE c.name ='France'";
Этот запрос даст вам несколько строк, если в стране есть несколько достопримечательностей, например
{"country":France, "capital":Paris, "population": 64750000, "description":Some text, "attraction":La Vieille Charite},
{"country":France, "capital":Paris, "population": 64750000, "description":Some text, "attraction":Eiffel Tower}
Если вам нужна только одна строка, например
{"country":France, "capital":Paris, "population": 64750000, "description":Some text, "attraction":La Vieille Charite, Eiffel Tower}
Вы можете использовать GROUP BY
для агрегирования, например,
$sql = "SELECT c.name, c.capital, c.population, c.description, GROUP_CONCAT(a.attraction_name)
FROM countries c
LEFT JOIN attraction_list a ON a.country_name = c.name
WHERE c.name ='France'
GROUP BY c.name";