Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何根据另一个表中的json数组值筛选表_Mysql_Google Cloud Sql - Fatal编程技术网

Mysql 如何根据另一个表中的json数组值筛选表

Mysql 如何根据另一个表中的json数组值筛选表,mysql,google-cloud-sql,Mysql,Google Cloud Sql,我有两个表,一个用于用户,一个用于帖子: 创建数据库数据库; 如果db.users不存在,则创建表 uid char10主键, 用户名char10, 在json之后, 阻塞json ; 在db.users中插入uid、username、following、blocked 值“uid_0”、“user_0”、“uid_1、uid_2]、“[uid_3]”; 在db.users中插入uid、username、following、blocked 值“uid_1”、“user_1”、“uid_0、uid

我有两个表,一个用于用户,一个用于帖子:

创建数据库数据库; 如果db.users不存在,则创建表 uid char10主键, 用户名char10, 在json之后, 阻塞json ; 在db.users中插入uid、username、following、blocked 值“uid_0”、“user_0”、“uid_1、uid_2]、“[uid_3]”; 在db.users中插入uid、username、following、blocked 值“uid_1”、“user_1”、“uid_0、uid_2、user_3]、“[]”; 在db.users中插入uid、username、following、blocked 值'uid_2'、'user_2'、'[uid_0]'、'[]'; 在db.users中插入uid、username、following、blocked 值'uid_3'、'user_3'、'[uid_1]'、'[]'; 创建不存在的表db.posts id char10主键, 所有者char10, 文本字符100 ; 插入db.posts id、所有者、文本 值“post_0”、“uid_0”、“text_0”; 插入db.posts id、所有者、文本 值“post_1”、“uid_1”、“text_1”; 插入db.posts id、所有者、文本 值“post_2”、“uid_2”、“text_2”; 插入db.posts id、所有者、文本 值“post_3”、“uid_3”、“text_3”; 我想做的是根据以下列表和阻止列表查询一个用户的帖子

我能做的就是使用一个sentinel表将下面的列表转换成一个表,该表只包含0到1000之间的数字

SET@following=选择following 来自firestore_mirror.users 其中uid='userId'; 选择JSON_EXTRACT@following,CONCAT'$[',helper._行']'作为uid 从中选择@following作为辅助对象作为 内部连接firestore\u mirror.t\u列表\u行作为辅助对象 在帮助程序上。\u行
"value_0"
"value_1"
"value_2"
"value_3"
"value_4"
但是当我尝试这个的时候,我只得到了一个空的结果

SET@following=选择following 来自firestore_mirror.users 其中uid='userId'; 挑选* 来自firestore_mirror.posts 选择JSON中的所有者_EXTRACT@following,CONCAT'$[',helper._行']'作为uid 从中选择@following作为辅助对象作为 内部连接firestore\u mirror.t\u列表\u行作为辅助对象 在帮助程序上。\u行 在我的脑海里:我期待的结果是

挑选* 来自db.posts 其中owner在db.users中选择following,其中uid='uid\u 0' 和不在select中的所有者从db.users阻止,其中uid='uid_0'; 选择帖子* 来自用户u1 在JSON_SEARCHu1.com上加入用户u2 -JSON_SEARCHu1.blocked'one',u2.uid为空 在u2.username=posts.owner上加入帖子 其中u1.uid=@uid 如果相同的uid可能出现在以下列和阻止列中,并且该用户拥有的帖子不能返回,则取消注释


提供样本数据3-5行,如创建表格+插入,以及此数据的所需输出,并提供解释。@Akina完成:D谢谢您。。主人在哪里。。而所有者不在。。以下和阻止中是否可能包含相同的uid?
id, owner, text
"post_1", "uid_1", "text_1"
"post_2", "uid_2", "text_2"