У меня есть некоторые проблемы, когда я соединяю 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>';
}
Я не знаю, где проблема, потому что я использую этот запрос несколько месяцев назад, и он работает, но сейчас не работает ..
Может быть, ваша проблема связана с неоднозначностью названия столбца 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)
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