最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
postgresql多表join方法的用法
时间:2022-06-29 10:22:26 编辑:袖梨 来源:一聚教程网
user_info要关联查出其它社交表里的信息,但是其它社交表可能没有这个用户
select u.*, COALESCE(u.slogan, tw.description, i.bio, g.bio,tu.description) as bio from user_info u LEFT OUTER JOIN twitter_user tw ON u.user_name = tw.screen_name LEFT OUTER JOIN instagram_user i ON u.user_name = i.username LEFT OUTER JOIN github_user g ON u.user_name = g.login LEFT OUTER JOIN tumblr_user tu ON u.user_name = g.name
引出了另外一个问题:postgresql应如何判断空字符串
postgresql多表join 中用了 COALESCE
但是空的string还是会被选出来''
得再加个NULLIF判断来解决
select u.*, COALESCE(NULLIF(u.slogan,''), NULLIF(tw.description,''), NULLIF(i.bio,''), NULLIF(g.bio,''), NULLIF(tu.description,'')) as bio from user_info u LEFT OUTER JOIN twitter_user tw ON u.user_name = tw.screen_name LEFT OUTER JOIN instagram_user i ON u.user_name = i.username LEFT OUTER JOIN github_user g ON u.user_name = g.login LEFT OUTER JOIN tumblr_user tu ON u.user_name = g.name
于是改成了这样
select u.*, COALESCE(NULLIF(u.slogan,''), NULLIF(tw.description,''), NULLIF(i.bio,''), NULLIF(g.bio,''), NULLIF(tu.description,'')) as bio from user_info u LEFT OUTER JOIN twitter_user tw ON u.user_name = tw.screen_name LEFT OUTER JOIN instagram_user i ON u.user_name = i.username LEFT OUTER JOIN github_user g ON u.user_name = g.login LEFT OUTER JOIN tumblr_user tu ON u.user_name = g.name
相关文章
- 漫蛙manwa2安装指南-漫蛙manwa2最新版下载 03-04
- picacg哔咔网页版入口-嗶咔picacg在线高清观看 03-04
- 哔咔漫画在线免费看全集:海量高清日漫韩漫无需下载直接看 03-04
- 漫蛙3安卓版下载安装最新版本-安卓正版资源免费下载入口 03-04
- jm成人版-网页登录入口 03-04
- twitter官网-推特网页版 03-04