V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
hehezhang
V2EX  ›  问与答

今天需求提了个我觉得实现起来非常困难的东西,求助

  •  
  •   hehezhang · Apr 30, 2021 via Android · 2531 views
    This topic created in 1834 days ago, the information mentioned may be changed or developed.

    mysql 数据库,主表有一个字段是 xxxid,这个 xxxid 存在另外一个库里的表,这个 id 对应一个 xxxname 字段,要对这个 name 字段 like 查询,换句话就是说要跨库 like 查询,这应该怎么做

    10 replies    2021-04-30 17:25:44 +08:00
    zxCoder
        1
    zxCoder  
       Apr 30, 2021
    没看懂
    zoharSoul
        2
    zoharSoul  
       Apr 30, 2021
    没看懂 +1
    shakaraka
        3
    shakaraka  
    PRO
       Apr 30, 2021
    你都懂说跨库 like 咯。那不就这样么
    Autmn
        4
    Autmn  
       Apr 30, 2021
    @wunonglin 有理有据。令人信服
    SoulSleep
        5
    SoulSleep  
       Apr 30, 2021
    这样配一下

    再那样设置一下

    就可以 select xxx from a.table_a t1 left join b.table_b t2 on t2.xx=t1.xx where .....like 了。。。

    其实我们都是用 es 解决。。

    我们的 mysql 不存在 join 语法😅😅😅😅
    IceMimosa
        6
    IceMimosa  
       Apr 30, 2021
    不允许 join 的话,只能 xxxname 做 like 处理,查出对应的 id 。然后回主表用 xxxid in (刚刚查出的 id),注意控制好数量。
    Mountain
        7
    Mountain  
       Apr 30, 2021
    presto?
    oldZhang
        8
    oldZhang  
       Apr 30, 2021
    是这个意思吗?
    SELECT * FROM db1.table1 WHERE db1.table1.xxxid IN (SELECT id FROM db2.table2 WHERE `name` LIKE "%abc%")
    waterlaw
        9
    waterlaw  
       Apr 30, 2021
    先在主表把 xxxid 都查出来, 预留一个字段放 xxxname, 再用 xxxid 从另一个库查对应的 xxxname, 把结果插入预留字段中。
    waterlaw
        10
    waterlaw  
       Apr 30, 2021
    题目看反了, 反过来也一样哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1048 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 22:46 · PVG 06:46 · LAX 15:46 · JFK 18:46
    ♥ Do have faith in what you're doing.