Сопоставеление таблиц...так вот!

  • Автор темы BlossomingBlip
  • Дата начала

BlossomingBlip

Guest
Сопоставеление таблиц...так вот!

Проблема такая.... у меня одна большая таблица.....

напишу чтоб было понятно...тюею только суть:

Таблица:
номер | сопоставление | название(имя на кириллице)
1 | 4,2,7,34 | Клава
2 | 1,4,56,6 | Мышь

Нужен вывод такой:

1 | ..., Мышь, .., .. | Клава
2 | Клава, ..., ..., ... | Мышь

Либо я торможу...либо не догоняю...помогите пожалуйста....
 

alexhemp

Новичок
Не догоняешь

При такой схеме данных у тебя ничего не выйдет
Разбей таблицу на 2

1. Список оборудовния
Номер, название

2. Список сопоставления
Номер, Номер спостовляемой записи.


Соотв. в списке сопоставления столько записей, сколько элементов.

Не нужно для реализации отношения "один ко многим" использовать строки с разделенными запятыми значениями.

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

Wicked

Новичок
Бредовая идея в качестве шутки :)
[SQL]from `таблица` as `t1` inner join `таблица` as `t2` ON (
(`t2`.`сопоставление` like concat('%,' ,`t1`.`номер`, ',%'))
or
(`t2`.`сопоставление` like concat(`t1`.`номер`, ',%'))
or
(`t2`.`сопоставление` like concat('%,' ,`t1`.`номер`))
)[/SQL]
Использовать такое ни в коем случае не надо! )
 

Cougar

Кошак
...читаем про нормализацию БД и больше не задаём глупых вопросов.
 

BlossomingBlip

Guest
Спасибо... я думал, что можно зделать как-нить... чтоб побыстрей.... ладно!.. Буду мучится...

2 Cougar

Ссори.....не думал что это.. нормализация.....больше так не буду!
 
Сверху