gpt4 book ai didi

php - 关于mysql json_extract()的问题

转载 作者:行者123 更新时间:2023-11-29 07:33:42 24 4
gpt4 key购买 nike

您好,我有一个关于 mysql json_extract 函数的问题。

有两个表;

users
+------------------------------------+
| id | email |
+------------------------------------+
| 1 | red@google.com |
+------------------------------------+
| 2 | green@google.com |
+------------------------------------+

room
+----------------------------------------------------------------------------------+
| id | invited(json type) |
+----------------------------------------------------------------------------------+
| 1 | {"invite": [{"To": "red@google.com"}, {"To": "green@google.com"}]}
+----------------------------------------------------------------------------------+

我想从房间表中获取受邀用户。所以我试过了

SELECT A.id, A.email
FROM users A JOIN room B ON
(A.email = json_extract(B.invited,'$.invite[*].To')

但是 json_extract() 返回

["red@google.com", "green@google.com"]

如果我使用'json_extract(B.invited,'$.invite[0].To')'
有可能得到一个。但无法获得多个用户。

有什么办法吗?

最佳答案

尝试使用 JSON_CONTAINS。它应该是这样的:

SELECT A.id, A.email
FROM users A
JOIN room B
ON json_contains(json_extract(B.invited,'$.invite[*].To'), json_quote(A.email))

关于php - 关于mysql json_extract()的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49896032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com