PHP + MySQL. Несколько значений в одно поле

Печать / RSS
0
1. ШЕДЕВР 06.01.2020 / 13:24
Пишу, строю и воображаю
Есть таблица (cities):
ID Namecity
1 Москва
2 Лондон
3 Дели
4 Душанбе
5 Нью Йорк


Есть таблица с кредитными картами (cards), которые поддерживают города
ID Name City
1 Visa Москва(ID1)
2 Visa Дели(ID3)
3 Visa Душанбе(ID4)
4 Mastercard Нью Йорк(ID5)
5 Mastercard Душанбе(ID4)


Из-за городов приходится дублировать записи. Можно ли как то в поле "City" вбить несколько ID городов? Например
ID Name City
1 Visa 1,3,4
2 Mastercard 5,4


И чтобы при поиске
select * from `cards` where `city`='3'

он выдал результат ID1, потому что в нём есть 1,3,4....

Спасибо за помощь :-)
Изменил: ШЕДЕВР (06.01.2020 / 13:24)
0
2. Иван 06.01.2020 / 14:59
Оранжевые штаны
Нужна промежуточная таблица связей.
ID card_id city_id
Вторая таблица тогда будет
ID Namecard
И потом уже
SELECT * FROM `cards` WHERE `id` = (SELECT `card_id` FROM `card2city` WHERE `city_id` = 3)

Как-то так, возможно пример накидал не корректно
0
3. Вантуз-мен 07.01.2020 / 03:16
Господин ПЖ
можно что-то типа
SELECT * FROM `cards` WHERE `city` REGEXP '(^|,)3($|,)';


Но лучше сделать поле json там проще искать
Изменил: Вантуз-мен (07.01.2020 / 06:49)
Для выполнения действия необходимо авторизоваться!
Стикеры / Теги / Правила / Топ тем / Топ тем / Поиск