我的表emloyee包含以下数据。
Id Name Country
1 John USA
2 Smith USA
3 Jack IND
4 Lory UK
5 Miller USA
我希望通过调用这样的存储过程获得结果
call getEmployeeDetailsByCountry('IND,UK');
Result:
Id Name Country
3 Jack IND
4 Lory UK
我的程序是
select * from employee
where if( (LOCATE(',','IND,USD')>0),
Country in (concat('\'',REPLACE('IND,USD', ',', '\',\''),'\''))
, Country in ('IND,USD'));
这里取代了IND,USD'到' IND' USD' USD'。 但结果是没有行......任何人都可以帮我找到.....谢谢
答案 0 :(得分:3)
使用FIND_IN_SET而不是IN
SELECT *
FROM product
WHERE FIND_IN_SET(country, 'IND,USD');
试试这个我想这会解决你的问题
答案 1 :(得分:-1)
为什么不在where
子句中使用简单IN
statement的查询?
SELECT * FROM employee WHERE Country IN ('IND', 'UK');