程序员小白,谁能帮忙回答下关于 SQL 字段值有方括号和引号的字符串值,该如何 left join。。。。。。。

2019-10-21 20:45:09 +08:00
 Shawn5

问题描述在这里 https://segmentfault.com/q/1010000020757334

求哪位大佬解答下!!!!

1719 次点击
所在节点    程序员
14 条回复
fiypig
2019-10-21 20:52:35 +08:00
你存进去就是这样的, 存进去不要加括号
Shawn5
2019-10-21 21:02:58 +08:00
@fiypig 不是我存的,这个是我们公司外包给一家软件公司,他们的程序员写的,我只是学习下,正好想列个结构树,但是这 2 个表没法关联。。。。。百度上实在找不到,所以来这里求求看
taotaodaddy
2019-10-21 21:05:40 +08:00
带方括号的数据很凑巧是只有一个元素的数组
Shawn5
2019-10-21 21:07:42 +08:00
@taotaodaddy 数据库的字段值还有数组类型。。。。
taotaodaddy
2019-10-21 21:09:45 +08:00
@Shawn5 json
newlife
2019-10-21 21:11:05 +08:00
不能啊,看结构,一个成员可以属于多个部门,你这个 left jion 就不合适呀
taotaodaddy
2019-10-21 21:11:32 +08:00
如果那列的数据类型是 json,就还算说得过去,如果只是字符串,内容带方括号就说不过去了
Shawn5
2019-10-21 21:14:10 +08:00
@newlife 一个成员只能是一个部门的
@taotaodaddy 我看了下类型,是字符串类型 - -!
taotaodaddy
2019-10-21 21:16:48 +08:00
@Shawn5 你可以问问他存方括号是几个意思,是用字符串存了 json 吗,是想放数组吗
Shawn5
2019-10-21 21:24:13 +08:00
好了,解决了,用了正则匹配,谢谢大家!!!
tenclock
2019-10-22 09:35:42 +08:00
@Shawn5 正则怎么写的呢楼主,不然帖子没个结果,看着怪难受
sadfQED2
2019-10-22 10:39:22 +08:00
这种字段理论上就没法做关联吧,你可以使用字符串替换或者正则等方法筛选,然后拼表,但是这种性能堪忧啊,如果只是临时的统计数据还好,不然数据量大了就有问题
Shawn5
2019-10-23 10:32:39 +08:00
@tenclock a.department REGEXP b.department_id 这样就 OK 了。。。
Shawn5
2019-10-23 10:33:12 +08:00
@sadfQED2 我也很纳闷为啥要这样存数据,他说是为了引导。。。。不知道啥意思啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611518

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX