Я не так в базу данных, и у меня есть следующая проблема при работе с MySql базы данных.
У меня есть такая таблица:
CREATE TABLE CommodityName (
id BigInt(20) NOT NULL AUTO_INCREMENT,
commodity_details_id BigInt(20) NOT NULL,
language_id BigInt(20) NOT NULL,
commodity_name VarChar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
description Text CHARACTER SET latin1 COLLATE latin1_swedish_ci,
PRIMARY KEY (
id
)
) ENGINE=InnoDB AUTO_INCREMENT=87 ROW_FORMAT=DYNAMIC DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
ALTER TABLE CommodityName COMMENT = '';
Записи в этой таблице представляют информацию о товарах на разных языках.
Товар определяется однозначно и commodity_details_id (то есть FK другой таблицы).
Определенный товар может иметь несколько записей в этой таблице CommodityName (у меня есть запись для каждого перевода на определенном языке, представленная полем language_id ). Например, у меня есть эти 2 записи:
id commodity_details_id language_id commodity_name description
-------------------------------------------------------------------------------------------------------
1 1 1 Rice Asia Rice Asia
16 1 3 Umuceli Asia Umuceli Asia
, которая представляет ту же самую информацию о товаре (обе имеют commodity_details_id = 1 ), но на 2 языках (английском и языке кинирванда). Теоретически у меня могут быть и другие языки, поэтому я могу иметь n записей для определенного товара.
Мне нужно создать запрос, в котором для указанного товара ( WHERE commodity_details_id = 1 ) он возвращает все поля commodity_name найденной записи в виде столбца одной записи.
Ссылаясь на предыдущий пример, примерно так:
commodity_details_id commodity_name_EN commodity_name_RWA commodity_name_FR
----------------------------------------------------------------------------------------------------------------
1 Rice Asia Umuceli Asia null
Как я могу реализовать такой запрос, чтобы из нескольких записей преобразовывать часть информации в каждой записи как новый столбец в новом запросе?