这对于基本SQL来说可能很简单,或者它可能需要一个REGEXP,但我已经碰壁了.
我的数据存储在JSON字符串中,就像这两个例子一样(每个都在1个字段中):
[{"id":"2","value":["1","3"]},{"id":"3","value":["1","2"]}]
和:
[{"id":"3","value":["2"]},{"id":"3","value":["1","2","5"]}]
我想在最后一个括号中搜索可能包含许多数字的值["1","2","5"] or just a single on ["2"].起始数字对应于两个类别 - 单个"id":"2"和"id":"3".
使用%"2"%简单的LIKE当然可以匹配所有内容.我可以通过查询"id":"$var"返回每个类别,然后使用PHP通过筛选之后,我们有了结果,但数据可能非常大,我敢肯定,这很容易让一个SQL大师.
我没有选择更改字段的格式,它必须保持为JSON.
任何帮助赞赏!谢谢.
sta*_*bie 14
我想我用这个来解决它:AND extra_fields REGEXP '(.*"id":"2".*)("\[.*"1".*\]")'.与正则表达式相比,它更多地与MySQL相关:P
评论:(我找不到评论按钮)
当您了解到"extra_fields"是表格中列的名称时,此语法会变得更清晰