1.刚开始学习sql遇到了一个较为复杂的查询,鼓捣了半天也不行
2.查询需求:
A表机构 [rs_user]
B表结构 [rs_user_list]
想要实现的效果,
将B表的info字段以别名的形式显示在A表中,B表别名规则
当paraid=100时,别名为 name
当paraid=103时,别名为 companyName
当paraid=106时,别名为 companyAddress
当paraid=109时,别名为 avatar
当paraid=112时,别名为 companyAbout
有一点需要注意,比如A表中有13这个id,但是B表中的listid并没有13这个id,但是取数据的的时候也要把别名列一起带出来,只不过值都是空字符串
查出来的数据格式是这样的
求大神给写一下
case when 语句是无法实现的, A 关联 B 后是多条数据, 那么 case when 出来的结果没法合并成一行.
如果说, 条件固定 也就是 paraid 只有
当paraid=100时,别名为 name
当paraid=103时,别名为 companyName
当paraid=106时,别名为 companyAddress
当paraid=109时,别名为 avatar
当paraid=112时,别名为 companyAbout
或者是确定的情况下, 可以通过下面的 sql 语句实现
一对多关系, 要合并数据 sql 实现可以考虑此方法.