【发布时间】:2009-05-05 17:57:14
【问题描述】:
我想在 SQL 中进行更高效的比较。
输入字段(fldInputField)是逗号分隔的“1,3,4,5”列表
数据库有一个字段(fldRoleList),其中包含“1,2,3,4,5,6,7,8”
所以,对于 fldRoleList 中第一次出现的 fldInputField,请告诉我们它是哪个值。
有没有办法在 MySQL 或存储过程中实现以下功能?
伪代码
选择 * 从表 t1 WHERE fldInputField in t1.fldRoleList
/伪代码
我猜可能有一些函数最适合这种类型的比较?我在搜索中找不到任何内容,如果有人可以指导我,我会删除问题...谢谢!
更新:这不是理想的(或好的)做事方式。它是继承的代码,我们只是尝试快速修复,同时考虑构建逻辑以通过规范化行来处理这个问题。幸运的是,这不是大量使用的代码。
【问题讨论】:
-
我不太清楚你想要什么。您能否给出一些示例值和您期望看到的结果?例如,使用您给定的值,正确的结果是否会是“1”,因为“1”出现在两个列表中?
标签: sql mysql list comparison