@Coolam
Web-developer

Как вывести данные из двух таблиц?

Есть 2 таблицы, в которых одинаковые поля. Как вывести сразу данные из этих 2-ух таблиц?
SQL-запрос, который у меня есть:
$sql_table = $connect->query("SELECT * FROM `people_city1` FULL JOIN `people_city2`");

Как я вывожу эти 2 таблицы:
<?php while($row = $sql_table->fetch_array()){?>
                    <tr>
                        <td><?php echo $row['fio']?></td>
                        <td><?php echo $row['date_bth']?></td>
                        <td><?php echo $row['post']?></td>
                        <td><?php echo $row['company']?></td>
                    </tr>
                <?php }?>

Но код выводит данные только из `people_city2` ровно столько раз, сколько записей в `people_city1`.

P. S. Сделать вывод нужно только с помощью объединения этих таблиц, но не делать просто из 2 таблиц одну. Как мне быть, в чём моя ошибка?
  • Вопрос задан
  • 432 просмотра
Решения вопроса 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Ошибка детская, она вот в этом: "Есть 2 таблицы, в которых одинаковые поля".
Очень часто новички, которые не понимают, как работает база данных, делают подобное.
И всегда потом приходится переделывать, даже если очень не хочется.
Потому что в БД не должно быть таблиц с одинаковыми полями. Собственно, сообразительные новички уже на этом вопросе, "как выбрать из двух таблиц" начинают понимать, что у них что-то пошло не так.

Так что надо просто сделать одну таблицу, записать в неё данные из всех таблиц с одинаковыми полями, и выбирать из неё обычным способом.

Имя таблицы, кстати, тоже очень странное. Наверняка там внутри тоже треш и угар и вот её-то как раз и надо разделить, только не горизонтально, а вертикально. Судя по составу полей, нужна одна таблица city и одна таблица people, в которой указывается только city id
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
SELECT * FROM `people_city1` UNION SELECT * FROM `people_city2`


И да учите сиквел он позволяет даже признаться в любви девушке, а не всякую бизнес логику
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы