Мне нужно запросить таблицу в MySQL на основе столбца строкового типа.
-----------------------------------
id | lookupkeys | productid |
-----------------------------------
1 | key1 | 5GEH03 |
2 | key2 | 7445DW |
3 | key3 | 9DSFDF |
4 | key4 | 5GEH03 |
5 | keyN | 7445DW |
-----------------------------------
Хранимая процедура для приема нескольких значений (через запятую) в одном входном параметре, который должен использоватьсяв предложении IN.
Input : @keys = "key1,key5,key19,key22"
Query : SELECT * FROM MyTable WHERE lookupkeys IN ("key1","key5","key19","key22");
Так что в основном мне нужен способ, как разделить запятыми ввод отдельных значений для предложения IN?
Ниже приведен фиктивный элемент sp
CREATE DEFINER=`xxx_xx`@`%` PROCEDURE `sp_demo_fetch_products`(
IN v_lookupkeys VARCHAR(200)
)
BEGIN
SELECT * FROM products_lookup WHERE lookupkeys IN(here I want to use v_lookupkeys)
AND CONDITION_1
AND CONDITION_2
ORDER BY popularity DESC;
END$$