不同数据表中有相同的字段名,值不同的操作

一个数据库,里面有几张表,每张表里面都有一个相同的字段名,但是相同字段名的值不相同,有的是相似, 比如 其中一个是    abcd  一个是 ab   一个cd  一个 bcd,请问,如何关联起来查询这些,

image.png

相关数据如上图,两个表,都有一个  dulishenfen 字段,但是里面的字段值不同,基本上是包含关系, 想通过 用户登陆后的登录名,查到用户的 dulishenfen字段值,再查询到 kdxxzb中的对应数据!

woyan2008 发布于 2019-12-22 00:33 (编辑于 2019-12-22 23:40)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
qhlLv6中级互助
发布于2019-12-22 13:12

你用Excel把涉及的表和对应的字段,以及最后需要展示的结果截图放上来吧,不然不太能看懂你的意思和最终的需求

  • woyan2008 woyan2008(提问者) 已更新相关的 数据图片这些,谢谢!!!比较急! QQ420414606
    2019-12-22 23:40 
  • qhl qhl 回复 woyan2008(提问者) 你试下这样的: select k.dulishenfen from kdxxzb k left join users u on k.dulishenfen like concat(\'%\',u.dulishenfen,\'%\') where u.username=\'${fine_username}\'
    2019-12-23 09:11 
最佳回答
0
枫城Lv7初级互助
发布于2019-12-22 07:09
限于值就上面几种 case when 当值等于abcdthen A 另外几个也then A 然后用A关联
  • woyan2008 woyan2008(提问者) 具体写法是? 这个的做法,主要是用于写登陆权限的, 我根据帆软 登陆用户名,来查询这个登陆人对应的数据列中的值,而这个值的列字段名和 相关另一个表的字段名是相同的,但是值不同,根据这两个值,来将包含这个值的内容全部读出来
    2019-12-22 08:43 
  • 枫城 枫城 回复 woyan2008(提问者) 值不同可以用CASE when 变成相同(如 A 表 case when 字段=“ABC”then A,ELSE “B”END AS 字段1 ,第二个表也同样 case when 字段=“ABCD”then A,ELSE “B”END AS 字段2) 然后两表用字段1,2进行连接,连接上了 你就可以通过 登陆用户查询连接的数据、
    2019-12-23 09:00 
最佳回答
0
北纬六十六度Lv4初级互助
发布于2019-12-23 08:44

字段间隔有相似,没有规则,根本没法匹配,不如建立字典表,简称与全文一一对应

最佳回答
0
sayLv6初级互助
发布于2019-12-23 13:34

从两张表的具体数据来看,除了字段名一样,内容没有具体的关联逻辑,所以这样就基本没办法关联。

当然强行关联也行,你可以两个表都加一个编码code的字段,保证该字段内容一样并且使对应的dulishenfen是你想要对应的数据,这样就能根据编码对应了。

  • 5关注人数
  • 1397浏览人数
  • 最后回答于:2019-12-23 13:34
    请选择关闭问题的原因
    确定 取消
    返回顶部