У меня есть следующий запрос:
SELECT value from catalog_category_entity_varchar WHERE entity_id IN
('1','2','10','47')
Этот запрос дает результаты.
value
ok
ok
ok
ok
Следующий запрос
SELECT value from catalog_category_entity_varchar WHERE entity_id IN
(REPLACE("'1','2','10','47'", 'dont', 'care'))
Этот запрос не дает результаты, потому что я думаю, что он генерирует "'1','2','10','47'"
, а entity_id
- это целое число, а не строка.
Таким образом, я попытался выполнить следующий запрос, но все еще не дал результатов
SELECT value from catalog_category_entity_varchar WHERE entity_id IN
(TRIM(BOTH '"' FROM REPLACE("'1','2','10','47'", 'dont', 'care')))
Мой вопрос как я могу сгенерировать запрос как первый с заменой? Спасибо всем за ваше время.
РЕДАКТИРОВАТЬ: ОБРАЗЕЦ ДАННЫХ:
CREATE TABLE catalog_category_entity_varchar (entity_id int(10), value varchar(255));
INSERT INTO catalog_category_entity_varchar VALUES (1,'ok'),(2,'ok'),(10,'ok'),(47,'ok');
Первоначальный запрос, который я пытаюсь выполнить, чтобы дать результаты
SELECT value from catalog_category_entity_varchar WHERE entity_id
IN ( CONCAT('"', REPLACE('1/2/10/47', '/', '","'), '"') );