【发布时间】:2021-08-14 18:17:12
【问题描述】:
我在 mysql 5.7 服务器上有以下表格
produit__parure
| id_parure (int) | ids_produits_parure (json) |
|---|---|
| 21 | ["34809", "34823", "34813"] |
| 22 | ["35703", "35854", "35877"] |
和produit:
| id_product (int) | ... other columns |
|---|---|
| 34809 | ... |
| 34810 | ... |
我尝试使用此查询将 id.prod = value on ids_produits_parure 加入:
SELECT p.id_prod, pp.* FROM produit p left JOIN produit__parure pp on
JSON_CONTAINS(pp.ids_produits_parure->'$[*]', CAST(p.id_prod as JSON))
where id_prod=34809
但它在 produit__parure 文件上返回 NULL:
| id_prod | id_parure | ids_produits_parure |
|---|---|---|
| 34809 | NULL | NULL |
我做错了什么? 结果我想要的是:
| id_prod | id_parure | ids_produits_parure |
|---|---|---|
| 34809 | 21 | ["34809", "34823", "34813"] |
我尝试了 Dan Chase 的答案,但它产生了错误的结果(我的行中 ids_produits_parure 不等于 id_prod )
| id_prod | id_parure | ids_produits_parure |
|---|---|---|
| 34809 | 21 | ["34809", "34823", "34813"] |
| 34809 | 22 | ["35703", "35854", "35877"] |
【问题讨论】:
标签: mysql mysql-json