variable stored parameter con mysql variables stored-procedures in-clause

mysql - stored - sql like variable



¿Cómo pasar una variable a una cláusula IN? (4)

pasar una cadena usando una variable fue un problema asumir esta solución

DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `spTestListValues`(_list varchar(200)) BEGIN SET @LIST=_list; -- assume this a paramter from the stored procedure SELECT NULL AS Id, '''' AS Description --insert null value to be used for list box population UNION (SELECT id, Description FROM test_table WHERE FIND_IN_SET(id,@LIST) ORDER BY Description ASC) ; END

Llamar al procedimiento desde otra ventana de consulta

call `spTestListValues`(''4,5,3''); --no paramter currently for test

salida

ID Description NUll 1 TEST1 4 TEST2 5 TEST3

Digamos que tengo un SP que tiene una instrucción SELECT siguiente manera,

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

Pero los datos van a esa cláusula IN debe ser a través de una sola variable que contiene la cadena de valores. Algo a continuación

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

Pero no está funcionando de esa manera. ¿Alguna idea de cómo hacer esto?



Pase un valor de parámetro como este - ''AA,BB,CC'' . Entonces, es suficiente usar la función FIND_IN_SET -

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


crea una función definida por el usuario que convertirá el valor separado por comas en una tabla, y al unir esto, dos pueden obtener el resultado deseado.

para más