база данных: связанные поля содержат несколько значений - PullRequest
0 голосов
/ 21 июня 2019

Вот таблица1:

| code | fruit  |
|  1   | Orange |
|  2   | Apple  |
|  3   | Grape  |
|  4   | Mango  |

Вот таблица2:

| name   | fruitcode |
| Jack   | 1, 3      |
| Alice  | 2         |
| Emma   | 1, 2, 4   |

Мой вопрос: может ли table2.fruitcode, которая содержит числа, относиться к table1.code?

1 Ответ

0 голосов
/ 21 июня 2019

Если под подразумевается , что означает присоединение к таблицам, вы можете использовать оператор LIKE:

select *
from table1 t1 inner join table2 t2
on concat(',', replace(t2.fruitcode, ' ', ''), ',') like concat('%,', t1.code, ',%')

Большинство баз данных поддерживают функции concat() и replace().Но это всего лишь решение конкретной проблемы.Вскоре вы столкнетесь с проблемами, которые невозможно решить с помощью таких простых уловок.Лучшее решение - нормализовать ваши таблицы с самого начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...