Доброго времени суток!
Задача наверное, не стандартная... Хотелось бы узнать, как лучше решить ее, чтобы не изменять структуру БД и стоит ли так использовать.
Вкратце: есть 2 таблицы payment_methods & user_meta.
payment_methods
+-----+-----------------+
| ID | Payment System |
+-----+-----------------+
| 563 | webmoney |
| 564 | yandex money |
| 565 | paypal |
+-----+-----------------+
user_meta
+-----+----------------+---------+---------+
| ID | payment system | wallet | USER_ID |
+-----+----------------+---------+---------+
| 739 | webmoney | 14njn | 736 |
| 740 | paypal | dnjanja | 736 |
+-----+----------------+---------+---------+
Мне нужно получить список всех возможных методов оплаты пользователя, но чтобы не перечислять в SQL запросе все строки из payment system в WHERE, хотелось бы в WHERE итерировать по названию платежных систем из первой таблицы payment_methods
Простой SQL запрос вида
SELECT * FROM `USER_META` WHERE `META_KEY` = 'webmoney' AND USER_ID = 736;
А как сделать, чтобы вместо
WHERE `META_KEY` = 'webmoney'
итерировался из 1-й таблицы на основе колонки payment_methods? И насколько корректно данная реализация?
P.S. Используется БД MySQL + Spring Boot