我有一个存储ID列表的json字段(这里不是我知道的最佳实践),我想知道是否可以在这个json字段上使用do操作并在SQL中使用它们。
CREATE TABLE user (
user_id INT,
user_name VARCHAR(50),
user_groups JSON
);
CREATE TABLE user_group (
user_group_id INT,
group_name VARCHAR(50)
);
INSERT INTO user_group (user_group_id, group_name) VALUES (1, 'Group A');
INSERT INTO user_group (user_group_id, group_name) VALUES (2, 'Group B');
INSERT INTO user_group (user_group_id, group_name) VALUES (3, 'Group C');
INSERT INTO user (user_id, user_name, user_groups) VALUES (101, 'John', '[1,3]');
user_id | user_name | user_group_id | group_name|
-------------------------------------------------
101 | John | 1 | Group A
101 | John | 3 | Group C
SELECT
u.user_id,
u.user_name,
g.user_group_id
g.group_name
FROM users u
LEFT JOIN user_group g on g.user_group_id in some_json_function?(u.user_groups)
如果问题不清楚请告诉我。
借助Feras的评论和一些摆弄:
SELECT
u.user_id,
u.user_name,
g.user_group_id,
g.group_name
FROM user u
LEFT JOIN user_group g on JSON_CONTAINS(u.user_groups, CAST(g.user_group_id as JSON), '$')
这似乎有用,如果有更好的方法,让我知道。
问题内容: 我有一个存储ID列表的JSON字段(我不知道这是最佳实践),我想知道是否可以在此JSON字段上使用do操作并在sql中使用它们。 以下是我要实现的虚拟示例,是否可以实现? 有了以上数据,我想构建一个查询,使我得到如下结果: 我在想以下一些伪风格的SQL,尽管我仍然不知道这是否可行,或者我将使用mysql提供的JSON函数实现此目的 如果问题不清楚,请告诉我。 问题答案: 借助Feras
我的类使用@service,而bean已经自动连线,所以我不明白为什么会出现这个错误。
问题内容: 我还是Spring MVC的新手,在构建测试项目时,我从Tomcat日志中得到了以下消息: 我有两个接口,分别用于用户和管理员: 这是AdminServiceImpl: 这是applicationContext.xml 请告诉我这个bean名称是什么问题,我知道这是AOP问题: 我该如何解决? 我在控制器中使用AdminServiceImpl: 问题答案: 您必须在代码中的某处像这样自
问题内容: 我有一个包含5个整数ID的表,并想添加一列以接受这些ID,对其进行排序并以类似于以下内容的方式将它们连接起来。 是否有使订购更快更轻松的功能?上帝禁止我必须手动编写订单。 问题答案: 您也可以使用(在线演示)
问题内容: 我有2张桌子。为了简化: 表1,用户: userId int,userName nvarchar(50) 表2消息: msgId int,msgFrom int,msgTo int … msg1和msg2都包含userId。现在,我想获取所有消息,但是我想要用户名而不是msgFrom。我知道该怎么办: 一切正常,花花公子。获取用户名而不是msgTo的方法相同。现在的问题是,如何在同一调
问题内容: 我在Linux上使用 --skip-networking 选项使用MySQL 。 尝试使用JDBC将基于J2EE的应用程序(使用servlet)连接到MySQL数据库。 使用 禁用* 了 --skip-networking 选项的MySQL时,我以以下方式连接到数据库: * 启用 --skip-networking 选项后,我尝试将其连接为: 但这似乎不起作用,当我尝试连接到应用程序中