Извлечь данные из базы данных из условия соответствия нескольких таблиц

Я хочу получить данные из базы данных. У меня есть три таблицы в моей базе данных: listing_master_residential, listing_master_condo а также listing_master_commercial, Есть один первичный ключ, Ml_numво всех таблицах. Я хочу искать данные из одной таблицы, которая соответствует таблице чисел MLS.

if (isset($_POST['search'])) {
    $mls=$_POST['mls_number'];
    $sql = "SELECT * FROM listing_master_residential,
        listing_master_condo, 
        listing_master_commercial  
        INNER JOIN listing_master_residential AS res ON res.Ml_num=Ml_num
        INNER JOIN listing_master_condo AS con ON con.Ml_num=Ml_num
        INNER JOIN listing_master_commercial AS com ON com.Ml_num=Ml_num
        WHERE Ml_num='$mls'";
    $result = $wpdb->get_results($sql) or die(mysql_error());
    foreach ( $result as $row) {
        echo $row->Lot_code."<br/>";
        echo $row->Ml_num."<br/>";
        echo $row->Acres;
        echo $row->Addr."<br/>";
        echo $row->Bath_tot;
        echo $row->Br;
        echo $row->Br_plus;
    }
}

С учетом вышеизложенного я получаю сообщение об ошибке:

Столбец 'Ml_num', в котором предложение неоднозначно

1 ответ

Поскольку столбец Ml_num находится во всех таблицах, вам необходимо обратиться к нему с полным именем, например con.Ml_num.

Я также заметил, что вы объединяете все таблицы дважды, один раз с неявным соединением и один раз с ANSI-соединением. Неявное объединение приведет к перекрестному соединению, поскольку в предложении where нет условий объединения.

Другие вопросы по тегам