【问题标题】:Mysql query...WHERE (comma separated string)IN(Comma separated string)Mysql查询...WHERE(逗号分隔字符串)IN(逗号分隔字符串)
【发布时间】:2012-04-03 17:06:55
【问题描述】:

我正在尝试从表中提取 id,其中逗号分隔的字符串 1 中的数字都在逗号分隔的字符串 2 中。如果任何数字匹配,IN 函数都会给我 id,但我希望字符串 1 中的所有数字都匹配或该 id 未显示在结果中。

$query = "SELECT teams FROM #__bl_teamcord WHERE u_id = ".$t_id." AND s_id = ".$sid." LIMIT 1";
    $db->setQuery($query);
    $tcteams = $db->loadResult();


$query = "SELECT r.id FROM  #__bl_regions as r WHERE (NOW() between r.start_date and r.end_date) AND r.s_id = ".$sid."  AND (r.teams IN($tcteams))";
    $db->setQuery($query);
    $regions1 = $db->loadResultArray();

【问题讨论】:

  • 您要这样做吗? "1,2,3" = "1,2,3" 或 1 in ["1,2,3".split(",")]
  • 其中 1,2,3 在 5,16,2,78,1,54,34,3 .....可能不在 1,2,3 相同的顺序但每个值在第二张桌子上。

标签: mysql


【解决方案1】:

简而言之,没有 MySQL 无法拆分您的字符串并尝试执行 IN 子句。但是有办法解决它。这是参考。 http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/

原文参考:Can Mysql Split a column?

【讨论】:

    猜你喜欢
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2013-06-04
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    相关资源
    最近更新 更多