首页 > 解决方案 > 合并从两个单独的连接获得的结果

问题描述

我有三张桌子
users

用户表
blog

博客表

Instagram

Instagram 表

我想从(用户和博客)和(用户和Instagram)的内部连接中获得结果,目前我正在执行这些查询

1。)

SELECT instagram.post_author,instagram.post_link,instagram.post_image,instagram.ts,users.username 
from instagram 
INNER JOIN users ON instagram.access_key=users.access_key ORDER BY instagram.ts DESC

2.)

SELECT blog.content,users.username,blog.ts 
from blog 
INNER JOIN users ON blog.access_key=users.access_key ORDER BY blog.ts DESC

我想结合这两个查询的结果,但我不知道如何。
ps:由于所选列的数量和兼容性不同,UNION 无法操作。

标签: mysqlsqljoin

解决方案


我想你确实想要union all

select uib.*
from ((select u.username, i.ts, i.post_author, i.post_link, i.post_image, 
              null as b.content
       from users u join
            instagram i
            on i.access_key = u.access_key
      ) union all
      (select u.username, b.ts, null as post_author, null as post_link, null as post_image, 
              b.content
       from users u join left join
            blog b
            on b.access_key = u.access_key
      )
     ) uib
order by ts desc;

推荐阅读