我在做一个非常复杂的报告功能,有很多条件,很多面板,
我的报告里有记录
id param_filter
101 FIND_IN_SET(t.owner_department,'0620510200,0621510200,0623510200')
查询:
SELECT *
FROM tbl_abc t WHERE t.id = '1' AND
(SELECT mr.param_filter
FROM tbl_my_report mr WHERE mr.id = '101'
)
如何将其用作有效的条件字符串?
2条答案
按热度按时间6ie5vjzr1#
使用此选项:
xcitsw882#
首先,您应该规范化您的数据,并消除
FIND_IN_SET
. 所以,应该有这样的部门表:此表就绪后,您可以重构查询以:
一般来说,应该避免在数据库表中存储csv或其他未规范化的数据,因为这会使查询变得困难。