mysqlvariablesstored-proceduresin-clause

How to pass a variable to a IN clause?


Lets say I have a SP that has a SELECT statements as follows,

SELECT product_id, product_price FROM product 
WHERE product_type IN ('AA','BB','CC');

But data goes to that IN clause must be through a single variable that contains the string of values. Something link below

SELECT product_id, product_price FROM product 
WHERE product_type IN (input_variables);

But its not working that way. Any idea how to do this?


Solution

  • Pass parameter value like this - 'AA,BB,CC'. Then, it is enough to use FIND_IN_SET function -

    SELECT product_id, product_price
    FROM product
    WHERE FIND_IN_SET(product_type, param);