V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Shawn5
V2EX  ›  程序员

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

  •  1
     
  •   Shawn5 · 2019-10-21 20:45:09 +08:00 · 1886 次点击
    这是一个创建于 1858 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    14 条回复    2019-10-23 10:33:12 +08:00
    fiypig
        1
    fiypig  
       2019-10-21 20:52:35 +08:00
    你存进去就是这样的, 存进去不要加括号
    Shawn5
        2
    Shawn5  
    OP
       2019-10-21 21:02:58 +08:00
    @fiypig 不是我存的,这个是我们公司外包给一家软件公司,他们的程序员写的,我只是学习下,正好想列个结构树,但是这 2 个表没法关联。。。。。百度上实在找不到,所以来这里求求看
    taotaodaddy
        3
    taotaodaddy  
       2019-10-21 21:05:40 +08:00 via Android
    带方括号的数据很凑巧是只有一个元素的数组
    Shawn5
        4
    Shawn5  
    OP
       2019-10-21 21:07:42 +08:00
    @taotaodaddy 数据库的字段值还有数组类型。。。。
    taotaodaddy
        5
    taotaodaddy  
       2019-10-21 21:09:45 +08:00 via Android
    @Shawn5 json
    newlife
        6
    newlife  
       2019-10-21 21:11:05 +08:00
    不能啊,看结构,一个成员可以属于多个部门,你这个 left jion 就不合适呀
    taotaodaddy
        7
    taotaodaddy  
       2019-10-21 21:11:32 +08:00 via Android
    如果那列的数据类型是 json,就还算说得过去,如果只是字符串,内容带方括号就说不过去了
    Shawn5
        8
    Shawn5  
    OP
       2019-10-21 21:14:10 +08:00
    @newlife 一个成员只能是一个部门的
    @taotaodaddy 我看了下类型,是字符串类型 - -!
    taotaodaddy
        9
    taotaodaddy  
       2019-10-21 21:16:48 +08:00 via Android
    @Shawn5 你可以问问他存方括号是几个意思,是用字符串存了 json 吗,是想放数组吗
    Shawn5
        10
    Shawn5  
    OP
       2019-10-21 21:24:13 +08:00
    好了,解决了,用了正则匹配,谢谢大家!!!
    tenclock
        11
    tenclock  
       2019-10-22 09:35:42 +08:00
    @Shawn5 正则怎么写的呢楼主,不然帖子没个结果,看着怪难受
    sadfQED2
        12
    sadfQED2  
       2019-10-22 10:39:22 +08:00
    这种字段理论上就没法做关联吧,你可以使用字符串替换或者正则等方法筛选,然后拼表,但是这种性能堪忧啊,如果只是临时的统计数据还好,不然数据量大了就有问题
    Shawn5
        13
    Shawn5  
    OP
       2019-10-23 10:32:39 +08:00
    @tenclock a.department REGEXP b.department_id 这样就 OK 了。。。
    Shawn5
        14
    Shawn5  
    OP
       2019-10-23 10:33:12 +08:00
    @sadfQED2 我也很纳闷为啥要这样存数据,他说是为了引导。。。。不知道啥意思啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3408 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:43 · PVG 12:43 · LAX 20:43 · JFK 23:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.