sql IN查询问题

时间:2012-01-03 22:25:03

标签: mysql

我想在我的sql表列“teams”=“11”中找到每行的“id”

但是,“团队”以这种格式存储:

1,2,3,4,5,11,20

1

1,3,4

11,34

我尝试过使用“in”查询,但无效。

$query = "SELECT u_id FROM #__bl_teamcord WHERE (11 IN (teams))";       
             $db->setQuery($query);
    $remail = $db->loadObjectList();

2 个答案:

答案 0 :(得分:4)

您可以使用:

SELECT u_id FROM #__bl_teamcord WHERE FIND_IN_SET('11',teams)

但是,如果这些表包含大量数据或性能至关重要,您可能需要考虑将数据规范化为单独的表,而不是在每行中使用逗号分隔列表。

答案 1 :(得分:0)

你不能有效地做到这一点,但如果你坚持使用正则表达式。我建议加入一个团队表,每个团队都排成一排。