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