gpt4 book ai didi

mysql - JOIN mysql 表上的 PRIMARY KEY 和 JSON 数组

转载 作者:行者123 更新时间:2023-11-29 16:35:02 24 4
gpt4 key购买 nike

我有一个表,table1 带有列

id name
1 A
2 B
3 C
4 D

另一个带有列的表格

id group
1 ["1","3"]
2 ["2","3"]
3 ["1","4"]

group是一个JSON类型字段。我想根据第二个表组从第一个表中获取记录。

SELECT * FROM table1 WHERE id IN (SELECT group FROM table2 WHERE id=1);

我尝试了以下查询,但没有得到结果。

SELECT * FROM table1 WHERE JSON_CONTAINS(id, (SELECT group FROM table2 WHERE id=1)) 

最佳答案

  1. 参数顺序错误。根据docs JSON 应该是第一个参数。

    SELECT * FROM table1 WHERE JSON_CONTAINS((SELECT group FROM table2 WHERE id=1), id)
  2. 您的 JSON 数组包含字符串,而您正在查找 INT 的 id。尝试这样的事情:

    SELECT * FROM table1 WHERE JSON_CONTAINS((SELECT `group` FROM table2 WHERE id=1), JSON_QUOTE(CAST(id as CHAR(50))))

关于mysql - JOIN mysql 表上的 PRIMARY KEY 和 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53646333/

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