[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как изменить таблицы
maximka787
Всем привет. Скажите пожалуйста, вопрос сложный, вот есть таблица. такого вида
id_tovar,  id_category (у одного товара может быть несколько категорий в данном случае всего 2, не больше)
как мне автоматически преобразовать ее в такой вид
id_tovar, id_category1, id_category2;
То есть фактически задача преобразовать таблицу из вертикального вида, в горизонтальную.
Пример:
1 1  // у первого товара пренадлежит 1-ой категории
2 1 // второй товар пренадлежит к первой ..
2 2 // и второй категории
а надо
1 1 0  // в одну строку
2 1 2 // в одну строку
и таких полей 4000.



Спустя 17 минут, 6 секунд (6.04.2011 - 17:23) tomash написал(а):
INSERT INTO new_table (id_tovar, id_category1, id_category2) (SELECT t1.id_tovar, t1.id_category, t2.id_category FROM table t1 JOIN table t2 ON t1.d_tovar = t2.id_tovar GROUP BY id_tovar)


типа так?

Спустя 1 минута, 2 секунды (6.04.2011 - 17:24) maximka787 написал(а):
Спасибо, проверю

Спустя 19 секунд (6.04.2011 - 17:24) Игорь_Vasinsky написал(а):
а не проще срузу:

id  |  name  | category
1 | мыло | 1,5,7
2 | шило | 9,11
3 | пульт | 10


чё ещё за преобразования

Спустя 1 час, 14 минут, 47 секунд (6.04.2011 - 18:39) maximka787 написал(а):
Игорь_Vasinsky проще конечно, но таблица которую надо преобразовать уже существует, и в ней почти 4000 записей.

Если бы с нуля делал бы, то так бы и поступил.

Спустя 22 минуты, 18 секунд (6.04.2011 - 19:01) Trianon написал(а):
maximka787
Вам это не требуется.
У Вас вполне корректная таблица, хранящая отношение многие-ко-многим.
А Вы из нее фиг знает что сделать хотите.

Спустя 1 час, 36 минут, 52 секунды (6.04.2011 - 20:38) maximka787 написал(а):
Trianon тоже верно) ладно , беру учебник и учусь...


_____________
..Работает - не трогай!
Быстрый ответ:

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