Запрос на получение имени из таблицы с двумя столбцами идентификаторов

0

У меня есть 2 таблицы. Первая имеет структуру типа

id (int)
parent_id (int)
category_name (varchar)

Вторая имеет такую ​​структуру, как:

id (int)
old_category (int)
new_category (int)

Я хочу сделать запрос, чтобы вытащить старые категории и имена новых категорий в одном запросе для родителей. То есть, я хочу получить имя старого родителя, а затем получить имя нового родителя. Вторая таблица содержит исторический список всех изменений родительского идентификатора, сделанных в первой таблице. Как я могу это сделать? Спасибо!

  • 0
    Давай, это просто присоединиться ...
  • 2
    @barti_ddu: все начинаются где-то. Или вы родились с простыми соединениями, закодированными в вашей ДНК?
Показать ещё 2 комментария
Теги:

4 ответа

1
   SELECT old_cat.category_name, new_cat.category_name
     FROM join_table
LEFT JOIN category_table as old_cat
       ON old_cat.id = join_table.old_category
LEFT JOIN category_table as new_cat
       ON new_cat.id = join_table.new_category;

Если вам удалось зайти так далеко, пришло время прекратить кодирование и начать обучение MySQL JOIN Syntax.

0

Присоединяйтесь к ним?

select * from table1
  join table2 j1 on table2.id = table1.old_category
  join table2 j2 on table2.id = table1.new_category
0
SELECT
  t.id,
  t.old_category,
  oc.category_name as old_category_name,
  t.new_catevory,
  nc.category_name as new_category_name
FROM
  table1 t
  INNER JOIN table2 oc on oc.id = t.old_category
  INNER JOIN table2 nc on nc.id = t.new_category

Я бы серьезно рассмотрел некоторые изменения в именах столбцов, кстати. Для начала: почему в категориях 2 нет идентификатора postfix?

0

Я угадаю, что вы имели в виду:

tblOne

ID

cat_name

tblTwo

ID

tblOneId (old_cat) int

new_cat int

select * from tblOne t1, tblTwo t2 Where t1.id = t2.tblOneId
  • 0
    Я хочу получить название старой категории и новой категории. Вторая таблица содержит исторические записи об изменениях названий категорий. Это означает, что 1 категория перемещена из родительской в другую (я обновляю это в своем исходном сообщении, это не ясно).
  • 0
    это old_category идентификатор из первой таблицы?

Ещё вопросы

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