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