आपका मित्र यहाँ है FIND_IN_SET मुझे उम्मीद है। मैं पहली बार इस प्रश्न में उस विधि में आया था:इस प्रश्न में भी शामिल है MYSQL - वेरिएबल इनपुट के रूप में कॉमा सेपरेटेड स्ट्रिंग का उपयोग करने वाली संग्रहीत प्रक्रिया
FIND_IN_SET के लिए MySQL दस्तावेज़ यहाँ है http ://dev.mysql.com/doc/refman/5.0/hi/string-functions.html#function_find-in-set
तो आपकी प्रक्रिया बन जाएगी
CREATE DEFINER=`root`@`localhost`
PROCEDURE `search_equipment`(
IN equip VARCHAR(100),
IN category VARCHAR(255)
)
BEGIN
SELECT *
FROM Equipment
WHERE e_description LIKE CONCAT("%",equip,"%")
AND FIND_IN_SET(e_type,category)
END
यह श्रेणी स्ट्रिंग पर अल्पविराम-सीमांकित सूची पर निर्भर करता है, और इसलिए आपका कॉलिंग कोड बन जाता है
String type = "I.T. Equipment,Office Supply";
CALL search_equipment('some equipment', type);
(p.s. ने एक टाइपो को ठीक किया, आपके तर्कों में आपने कैटेगॉय टाइप किया था)