V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
zmz980126
V2EX  ›  MySQL

求教 Mybatis 一个数据库查询问题

  •  
  •   zmz980126 · Aug 7, 2019 · 4724 views
    This topic created in 2468 days ago, the information mentioned may be changed or developed.

    是这样子的,需求要 A 表的信息,A 除了一些其他字段,有(varchar)A.belong_type,(int)A.belong 字段,有 N1,N2,N3 比方说这三个表(可以认为这三个表都只有 id,name 字段),要通过 belong_type 的值"1","2","3"决定哪个表(N1,N2,N3)使 A.belong=Nx.id 得到 name 字段 有什么效率比较高的实现方式吗? 我自己是先 select 了一遍 A,然后通过那两个字段又 select 了一遍 Nx,但感觉效率太差了,而且 Nx 的条目一多就会很慢 我也不知道设计数据库的那位为啥没给 Nx 设计 type 字段 以及<if text="xxx"> 标签只能接受外部参数吗?不可以是查询的字段吗</if>

    7 replies    2019-08-08 09:27:53 +08:00
    quickma
        1
    quickma  
       Aug 7, 2019   ❤️ 1
    <if text="xxx">这个标签是 Mybatis 的不是 SQL 的,所以不行

    然后 case when 是不是可以解决这个问题?
    huangdaxian
        2
    huangdaxian  
       Aug 7, 2019
    Left join 里面 on 加条件?
    zilaijuan
        3
    zilaijuan  
       Aug 7, 2019 via Android
    借楼问一下,怎么配 mybatis generator 才能在 mapper 里生成批量插入的方法?搜了半天没搜到。。。
    gz911122
        4
    gz911122  
       Aug 7, 2019
    case when 不就完事了
    ColoThor
        5
    ColoThor  
       Aug 7, 2019
    union ?
    zmz980126
        6
    zmz980126  
    OP
       Aug 8, 2019
    case when 可以决定连哪个表?
    zmz980126
        7
    zmz980126  
    OP
       Aug 8, 2019
    我好像明白了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2991 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 08:38 · PVG 16:38 · LAX 01:38 · JFK 04:38
    ♥ Do have faith in what you're doing.