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

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....

Спасибо за помощь :-)

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)

Как-то так, возможно пример накидал не корректно

3. Вантуз-мен (07.01.2020 / 03:16)
можно что-то типа
SELECT * FROM `cards` WHERE `city` REGEXP '(^|,)3($|,)';

Но лучше сделать поле json там проще искать

URL: https://visavi.net/topics/44291