У меня есть таблица сотрудников, город и страна.
Моя таблица сотрудников хранит идентификатор страны и города.
Я хочу, чтобы country_name, state_name, city_name с помощью запроса MySQL в оптимизированной форме.
таблица сотрудников
emp_id name email country state city
------- ---- ----- ------- ------ -----
1 abc a@gmail.com 1 1 1
таблица стран
country_id country_name
----------- -------------
1 India
таблица состояний
state_id country_id state_name
-------- ---------- -----------
1 1 Gujarat
стол города
city_id state_id city_name
------- ------- --------
1 1 Ahmedabad
Функция, используемая для извлечения данных
function select_employee(){
$sth = $this->con->prepare("SELECT * from employees");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
Функция для отображения состояния, города, страны
function select_places(){
$sth = $this->con->prepare("SELECT country.country_name,state.state_name,city.city_name
FROM employees
LEFT JOIN country ON employees.country = country.country_id
LEFT JOIN state ON employees.state = state.state_id
LEFT JOIN city ON employees.city = city.city_id");
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
return $result;
}
печать данных
<?php
foreach ($result as $values){
?>
</tr>
<td><?php echo $values['country']; ?></td>
<td><?php echo $values['state']; ?></td>
<td><?php echo $values['city']; ?></td>
}
В разделе данных печати мне нужны данные Индия, Гуджарат, Ахмедабад.
Не их идентификаторы.
выход
country_name state_name city_name
------------ -------- ----------
1 1 1
что мне нужно
emp_id name email country_name state_name city_name
----- ---- ------- ------------ -------- ----------
1 abc ab@gm.com India Gujarat Ahmedabad
как мне подготовить запрос или присоединиться к этому? что, используя идентификатор сотрудника, я получаю имя из таблицы страны, штата, города