【问题标题】:get records with passing multiple separated comma id from table where id is also comma separated in mysql table通过从表中传递多个分隔的逗号 id 获取记录,其中 id 在 mysql 表中也是逗号分隔
【发布时间】:2017-06-13 11:54:27
【问题描述】:

我有一张表,我们有多个类别的每个记录,用逗号分隔 (event_type),我们传递逗号分隔的多个 id。我找到了查询,但它没有给出很好的结果,请参见下面的表结构图像。 Mysql Structure 在此处输入代码

$query = "SELECT id,latitude, longitude, SQRT(POW(69.1 * (latitude - '".$lat."' ), 2) +  POW(69.1  ('".$lon."'  - longitude)  COS(latitude / 57.3), 2)) AS distance FROM business_signup_details where event_type in (3,4) and business_details_approved = '1' HAVING distance < $distance ORDER BY distance";

【问题讨论】:

  • 修复你的数据结构,这样你就有一个表,每个“记录”一行,event_type 一行。逗号分隔的列表不是 SQLish 存储值的方式。

标签: php mysql sql


【解决方案1】:

正如@Gordon 所说,您必须更改数据库结构以存储多个值。做标准化。如果你想要结果,你可以使用like关键字:

$query = "SELECT id,latitude, longitude, SQRT(POW(69.1 * (latitude - '".$lat."' ), 2) +  POW(69.1  ('".$lon."'  - longitude)  COS(latitude / 57.3), 2)) AS distance FROM business_signup_details where event_type like '%3,4%' and business_details_approved = '1' HAVING distance < $distance ORDER BY distance";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2015-07-30
    • 1970-01-01
    相关资源
    最近更新 更多