У меня есть пара таблиц, и мне нужно искать числовые значения в Таблице1, которые соответствуют связанным идентификаторам в Таблице2.Например:
Table1
ID | Item
1 Cat
3 Frog
9 Dog
11 Horse
Table2
Category | Contains
Group 1 1
Group 2 3|9
Group 3 3|9|11
Первоначально я думал, что LIKE будет работать, но если бы я искал "1", я быв конечном итоге соответствует «11».Я посмотрел на SET, но в документации по MySQL указано, что максимальное количество элементов равно 64, и у меня более 200 строк элементов в Таблице 1.Я мог бы обернуть каждый идентификатор элемента символом (например, «| 1 |»), но это не очень эффективно.У каждой группы будут уникальные предметы (например, в одной группе не будет двух кошек).
Я нашел похожую тему в качестве моей проблемы, и один из ответов предложил сделать другуюстол, но я не понимаю, как это будет работать.Новая таблица, содержащая, что именно?
Другой вариант, который у меня есть, - разделить Содержимое на 6 отдельных столбцов, поскольку в группе никогда не будет более 6 элементов, но тогда я не уверенКак искать во всех 6 столбцах, не полагаясь на шесть запросов ИЛИ:
Category | C1 | C2 | C3 | C4 (etc)
Group 1 1 null null null
Group 2 3 9 null null
Group 3 3 9 11 null
SELECT * FROM Table2 WHERE C1 = '1' OR C2 = '1' OR C3 = '1' etc.
Я не уверен, что наиболее эффективный способ обработки это .Я мог бы воспользоваться некоторыми советами от тех, кто имеет больше опыта в нормализации таких данных, пожалуйста.Спасибо.