[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перегруппировка массива
Kumirska
Есть таблица PRICES с ценами, где:

ID_GOOD - GOOD1, GOOD2, GOOD3, GOOD4 – (товары)

ID_PRICE - PRICE1, PRICE2, PRICE3 – (цены)

PRICE – сама цена товара.


--
-- Структура таблицы `prices`
--

CREATE TABLE IF NOT EXISTS `prices` (
`ID` int(5) NOT NULL AUTO_INCREMENT,
`ID_GOOD` varchar(10) NOT NULL,
`ID_PRICE` varchar(10) NOT NULL,
`PRICE` varchar(10) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;

--
-- Дамп данных таблицы `prices`
--

INSERT INTO `prices` (`ID`, `ID_GOOD`, `ID_PRICE`, `PRICE`) VALUES
(1, 'GOOD1', 'PRICE1', '250р.'),
(2, 'GOOD1', 'PRICE2', '340р.'),
(3, 'GOOD1', 'PRICE3', '140р.'),
(4, 'GOOD2', 'PRICE1', '190р.'),
(5, 'GOOD2', 'PRICE2', '0р.'),
(6, 'GOOD2', 'PRICE3', '120р.'),
(7, 'GOOD3', 'PRICE1', '450р.'),
(13, 'GOOD3', 'PRICE2', '630р.'),
(14, 'GOOD3', 'PRICE3', '200р.'),
(15, 'GOOD4', 'PRICE1', '430р.'),
(16, 'GOOD4', 'PRICE2', '220р.'),
(17, 'GOOD4', 'PRICE3', '190р.');



Необходимо сформировать SQL запрос для вывода данных в следующем виде (сводная таблица):
user posted image

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

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
walerus
Я бы сделал через массив. Иное решение был бы рад увидеть...
Valick
Цитата
Иное решение был бы рад увидеть...

неправильная организация БД, отсюда и рога с копытами

_____________
Стимулятор ~yoomoney - 41001303250491
vital
ну 3 раза сджойнить таблицу саму в себя и сделать какой-нить хевинг\группбай.
Ну и порыскать по ф-м внутри мускл, явно же есть что-то нужное. А вообще да, лучше бд переделать.

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
Kumirska
Сделал через массив, получилось сразу. MySQL пока не на таком уровне знаний.
Всем спасибо!

_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Hello

SELECT `ID_GOOD`, `ID_PRICE`, `PRICE`, ` FROM `prices` p1
JOIN `
prices` p2 ON p1.`ID_GOOD` = p2.`ID_GOOD` AND p2.`ID_PRICE` = 'PRICE2'
JOIN `
prices` p3 ON p1.`ID_GOOD` = p3.`ID_GOOD` AND p3.`ID_PRICE` = 'PRICE3'
WHERE p1.`
ID_PRICE` = 'PRICE1'

но схема действительно говно

_____________
VPS от 5$, первые 2 месяца - бесплатно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.