Не удается просмотреть результат при объединении 3 таблиц

У меня есть некоторые проблемы, когда я соединяю 3 таблицы, я использую процедурный mysqli. вот мой запрос ..

$select = $connection->conn->query('SELECT * FROM master_beli, supplier, karyawan WHERE supplier.id_supplier = master_beli.id_supplier AND karyawan.id_karyawan = master_beli.id_karyawan');

После этого я просматриваю с этим кодом

while($fetchData = $select->fetch_array()){
echo $fetchData['id_karyawan'].'<br>';
}

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

0

Решение

Может быть, ваша проблема связана с неоднозначностью названия столбца id_karyawan в двух таблицах попробуйте использовать явный псевдоним или имя столбца экспликации, например:

$select = $connection->conn->query('SELECT master_beli.id_karyawan
FROM master_beli
INNER JOIN supplier ON supplier.id_supplier = master_beli.id_supplier
INNER JOIN karyawan ON  karyawan.id_karyawan = master_beli.id_karyawan');

и, как предлагается в приведенном выше коде, вы должны использовать явное объединение синтаксиса .. для лучшей читаемости
(использование синтаксиса implict join не более продвигается в SQL)

0

Другие решения

SELECT  master_beli.id_supplier,master_beli.id_karyawan
FROM master_beli
join supplier  on supplier.id_supplier = master_beli.id_supplier
join karyawan on karyawan.id_karyawan = master_beli.id_karyawan;

это работает на MySQL

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector