Search code examples
mysqlselectsql-like

How to use nested SELECTs in Mysql with LIKE?


Assume this is the query I need:

SELECT * FROM `products` WHERE `keywords` LIKE "%(SELECT `key` FROM `keywords` WHERE `slug` = '%d8%af%db%8c%d9%88%d8%a7%d8%b1' LIMIT 1)%"

Currently it doesn't work and returns zero results while there are records that satisfy the condition.
I wonder what is the problem here?


Solution

  • This should work:

    SELECT * 
    FROM products 
    WHERE keywords LIKE
        CONCAT('%', (SELECT `key` FROM `keywords` 
            WHERE `slug` = '%d8%af%db%8c%d9%88%d8%a7%d8%b1' LIMIT 1), '%');