首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql连接多个查询

问Mysql连接多个查询
EN

Stack Overflow用户
提问于 2014-08-12 08:53:16
回答 1查看 53关注 0票数 3

我有三张桌子。我正试着写一个查询

我已经写了两封问询

1)

代码语言:javascript
复制
SELECT  
   `user_favourite_bookmarks`.`user_bookmark_id` as `is_fav`,
   `user_bookmarks`.* FROM `user_favourite_bookmarks` 
     RIGHT JOIN 
    `user_bookmarks` ON `user_favourite_bookmarks`.`user_bookmark_id` =    `user_bookmarks`.`bookmark_id` 
   WHERE 
 `user_bookmarks`.`user_id`=26 
 group by `user_bookmarks`.`bookmark_id`
 order by created_at DESC

和下面的第二个查询

2)

代码语言:javascript
复制
 SELECT  `user_deleted_bookmarks`.`bookmark_id` as `is_deleted`,`user_bookmarks`.*, FROM `user_deleted_bookmarks`
RIGHT JOIN 
**`user_bookmarks` ON `user_deleted_bookmarks`.`bookmark_id` = `user_bookmarks`.`bookmark_id` 
WHERE 
`user_bookmarks`.`user_id`=26 
group by `user_bookmarks`.`bookmark_id` 
order by created_at DESC

这些查询运行得很准确。

现在,我的第一个查询给出了is_fav、标题和第二个查询。

is_deleted,标题

但我想要的结果像is_fav,is_deleted,标题

任何人都告诉我如何达到这个结果。我想在mysql中实现这个结果。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-12 09:01:18

将这两个查询合并为一个查询。

代码语言:javascript
复制
SELECT
  b.title,
  IF(f.bookmark_id IS NULL, 'no', 'yes') AS 'favorite',
  IF(d.bookmark_id IS NULL, 'no', 'yes') AS 'deleted'

FROM user_bookmarks b

LEFT JOIN user_deleted_bookmarks d
ON d.bookmark_id = b.bookmark_id

LEFT JOIN user_favourite_bookmark f
ON f.bookmark_id = b.bookmark_id

WHERE b.user_id = 26

GROUP BY b.bookmark_id
ORDER BY b.created_at DESC
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25260043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档