如果我有三个表:
posts
------
postid date_posted title content
views
------
viewid post_id user_id
users
------
userid username
>
列出所有未被user_id
查看的帖子
的正确方法是什么?此查询是否正确?选择 * 从帖子左边 加入视图 POSTID=post_id 其中 user_id=123 并且 postid=NULL;
按< code>user_id列出所有< code >帖子及其“查看状态”如何?
您是否也可以推荐一个很棒的(用户友好的、非极客的)资源来提高我对LEFT JOIN、CROSS JOIN和(正常连接?从帖子、视图中选择*)的理解?
谢谢大家!
为了回答您的第三个问题,请查看 codinghorror.com 的sql连接的可视化解释中的链接。这将帮助您增强联接的底层。
1.select * from posts where post_id in(select post_id from views where user_id<>123)
or
select * from posts p join views v
on p.post_id=v.post_id
and v.user_id<>123
2.select p.*,CASE when isnull(v.viewid,0)=0 then 0 else 1 end as viewstatus
from posts p left join views v
on p.post_id=v.post_id
1.
SELECT *
FROM posts
WHERE postid NOT IN (
SELECT post_id
FROM views
WHERE user_id = 123
)
运筹学
SELECT *
FROM posts
LEFT JOIN views ON views.post_id = posts.postid AND views.user_id = 123
WHERE viewid IS NOT NULL
问题内容: 我有三个表名为 现在要显示学生姓名和他所学习的课程名称, 我建立以下查询 但是它不会返回所需的结果… 如果我想找到谁是其他经理,那么归一化表格将是什么: 并希望得到以下结果: 问题答案: 只需使用:
我有以下表格: http://www.gulllakeschools.net/mysqltables.pdf 我需要以以下格式提取数据:学生姓、学生名、日期事件、日期事件(学生登录的每一天都有一个日期事件) 组件com_users是我需要从组件列中提取的组件。 我是mysql的菜鸟,不知道如何一次完成。我有这些单独运行良好的精选语句: 但我不能为我的生活让他们加入。我尝试过加入,加入,完全加入,合
问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如
我正在使用Symfony 3和教义2.5。总共有三张表: 给定公司id 2,最终结果应该是这样,但就我个人而言,我无法为它编写一个有效的原则QueryBuilder方法 我有三个可以工作的MySQL查询,它们为我带来了想要的结果。但就我的一生而言,我无法将任何一个问题转换成至少一个工作原理问题。 使用MySQL查询(这实际上可能会帮助这里的一些用户): 我在Doctrine的QueryBuilde
问题内容: 我正在使用此查询: 产生以下结果: 我改变了场CAT_ID到一个名为新表包含的字段,,。我如何通过也加入该表来编写新查询,以获得与上述相同的结果? 我是数据库新手,需要帮助。提前致谢 问题答案: 试试这个: 这个想法很简单,在新表中的第一个字段是工作作为 代理键 ,它没有任何与其他两个表之间的关系。然后,我们来到了另外两个领域是哪些,这些你应该映射到关系的其他两个方面。 您不能使用新模
本文向大家介绍mysql三张表连接建立视图,包括了mysql三张表连接建立视图的使用技巧和注意事项,需要的朋友参考一下 三张表连接·· A表的a字段 对应 B表的b字段 ,B表的b1字段对应C 表的c字段 现在 建立 一个视图,可以同时 看到三张表的 所有信息·~ 两表链接创建视图 创建视图