Объединить разные таблицы Mysql

#php #mysql

#php #mysql

Вопрос:

У меня есть эти две таблицы, которые не имеют ничего общего, и я хотел бы получить запрос, который выдает результаты обоих, но я не знаю, как продолжить статью таблица:

 id   id_user     article     lang   time
1    1           something   en     327367
2    2           something   en     364756
  

Таблица продуктов:

 id   id_buyer   id_seler   time_product
1    1          1          463737
2    2          1          487474
  

Ожидаемый результат:

 id      id_user     article     lang   time     id      id_buyer   id_seler   time_product
1       1           something   en     327367   null    null       null       null
2       2           something   en     364756   null    null       null       null
null    null        null        null   null     1       1          1          463737
null    null        null        null   null     2       2          1          487474
  

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

Комментарии:

1. В двух таблицах разное количество столбцов @Frankich

2. Ожидаемый результат: Невозможно — сервер выйдет из строя из-за дублирования имен выходных столбцов.

3. Я могу изменить имя столбца @Akina

4. Могу я спросить, для чего это нужно? Кажется немного странным создавать один набор результатов из двух несвязанных таблиц? Почему бы просто не иметь два результирующих набора?

5. Мне нужна страница, на которой перечислены статьи и продукты, отсортированные по дате. Я мог бы использовать два запроса: один для продуктов и один для статей, но тогда я не знаю, как сортировать их по дате @MagnusEriksson

Ответ №1:

 SELECT id t1id, id_user, article, lang, `time` t1time, 
       NULL t2id, NULL id_buyer, NULL id_seler, NULL t2time
FROM table1
UNION ALL
SELECT NULL, NULL, NULL, NULL, NULL, 
       id, id_buyer, id_seler, `time`
FROM table2
/* ORDER BY t1id IS NULL, t1id, t2id */