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

0

У меня есть некоторые проблемы, когда я соединяю 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>';
}

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

Теги:

2 ответа

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

Может быть, ваша проблема связана с двусмысленностью имени столбца 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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню