заменить идентификатор с именем в базе данных - PullRequest
0 голосов
/ 28 сентября 2019

Я хочу заменить идентификатор на имя в другой таблице

this a table i have

SELECT item.item_name FROM item;

SELECT tbl_category.category_name AS parentCategoty 
   FROM tbl_category
   INNER JOIN items 
   ON tbl_category.category_id = items.item_category_id;

SELECT tbl_category.category_name AS subCategoty
   FROM tbl_category 
   INNER JOIN items 
   ON tbl_category.category_id = items.item_sub_category_id;

Результат:

    --------------------------------------------------------
    | item_name |  item_category_id | item_sub_category_id |
    --------------------------------------------------------
    | Tomato    |  food             | vegetables
    | Banana    |  food             | fruit
    | clotes    |  textile          | Uniform
    | Lenovo    |  Electronics      | Laptop

1 Ответ

0 голосов
/ 28 сентября 2019

Что-то вроде этого должно работать для вас:

SELECT i.item_name, c.category_name, sc.category_name FROM item i 
    INNER JOIN category c ON i.item_category_id = c.category_id 
    INNER JOIN category sc ON c.category_id = sc.parent_category_id

Тем не менее, я укажу, что ваш дизайн кажется ошибочным.Если подкатегория может идентифицировать свою родительскую категорию посредством самосоединения, нет необходимости хранить и category_id, и sub-category_id в таблице элементов.Элемент должен относиться только к подкатегории, которая, в свою очередь, идентифицирует своего родителя посредством самостоятельного соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...