我正在尝试在查询的WHERE IN子句中使用自定义MySQL函数的结果:
SELECT *
FROM project p
WHERE p.category_id IN (getCategorys(1))
自定义函数的结果如下:
SELECT getCategorys(1)
1,2,3,4,5
不幸的是,这并不能得到与以下查询相同的结果:
SELECT * FROM project p WHERE p.category_id IN (1,2,3,4,5)
使用自定义函数的查询仅返回category_id = 1的结果。
我在这里缺少了什么?
SELECT * FROM project AS p WHERE FIND_IN_SET(p.category_id, getCategorys(1))
你对性能的评论让我有点害怕。我该如何返回类似于csv字符串的东西,以便可以实际使用IN
? - ViBoNaCci