【发布时间】:2018-03-12 21:08:54
【问题描述】:
我有一个这样的“工作”表:
----------------------------------------------
|job_id |name |skills |
----------------------------------------------
|1 |Job 1 |[1] |
|2 |Job 2 |[2,3] |
|3 |Job 3 |[4,5,6] |
----------------------------------------------
“技能”列包含一个 JSON 数组。
我需要选择满足一项或多项技能的工作 - 类似这样(但显然行不通):
SELECT * FROM jobs WHERE skills IN (1,4)
应该返回:
----------------------------------------------
|job_id |name |skills |
----------------------------------------------
|1 |Job 1 |[1] |
|3 |Job 3 |[4,5,6] |
----------------------------------------------
【问题讨论】:
-
您的
JSON DATA列类型是什么? -
字符串类型
-
他们是你的数据库? postgres 还是 mysql ?
-
数据库是mysql
-
JSON 表示处理方式不同。来自:stackoverflow.com/questions/30411210/… 的第三个答案看起来与您需要的相似:
SELECT * FROM jobs WHERE skills->"$.[*]" in (1,4)?
标签: mysql sql arrays json string