MySql确定字符串列表的所有元素都存在于其他字符串列表中

MySql确定字符串列表的所有元素都存在于其他字符串列表中,mysql,stored-procedures,Mysql,Stored Procedures,我有这些桌子: category_table +--------+-----------------+---------+ | id | title | parent_id | +--------+---------------+-----------+ | 1 | f | null | | 2 | h | null | | 3 | j | 1

我有这些桌子:

category_table
+--------+-----------------+---------+
| id     | title         | parent_id |
+--------+---------------+-----------+
| 1      | f             | null      |
| 2      | h             | null      |
| 3      | j             | 1         |
| 4      | y             | 3         |
| 5      | d             | 3         |
+--------+-----------------+---------+

post_table
+--------+---------------+-------------+
| id     | title         | categoryies |
+--------+---------------+-------------+
| 1      | title1        | 1           |
| 2      | title2        | 1,2         |
| 3      | title3        | 4,5         |
| 4      | title4        | 4           |
| 5      | title5        | 3           |
+--------+---------------+-------------+
以及一个查找所有具有
'3,5,2'
类别的帖子的过程

程序将如何在类似于以下内容的其他字符串列表中搜索字符串列表:

Create Procedure post_select(IN category_ids Varchar(200))
Begin
   Select *
   From post
   Where 
   // all category_ids exists in post categories column
   // such as FIND_IN_SET('1', '1,2,3') but first parameter
   // should be list string for example:
   // FIND_IN_SET('2,3,4','2,4,5,6,7,8')

End;

你应该考虑创建一个PASSyType表,在其中存储PasyGID和CyryYyID。

@ GunaseelaN,谁在乎?在模式修复之前,“尝试”任何东西都没有意义!停止参见规范化。这个问题需要一些澄清(以及一些排版修正)。是否希望过程接收一个带有逗号分隔字符串的参数,该字符串被解释为一个值列表,其中任何值都会使该行显示在结果中?此外,演示所需的结果以及交叉检查我们是否理解正确也很有帮助。我需要逗号分隔的搜索,但没有任何搜索其他列表中列表的功能…@SLDev如果需要,请不要麻烦使用RDBMS。@SLDev这一点很简单。要么规范化您的模式,要么不使用关系数据库管理系统;使用逗号分隔的列表没有错,使用关系数据库也没有错;只是不要试图同时使用两者。