当前位置: 首页 > 知识库问答 >
问题:

MySql查询在3个表上交叉

夏侯承恩
2023-03-14
Sailor(sid,sname,rating,age)
Boat(bid,bname,color)
Reserve(sid,bid day)

找到那个预定红绿船的水手了吗?相交

我知道intersect在mysql中不起作用,所以我正在寻找替代方案

共有1个答案

景永望
2023-03-14

除了intersect之外,还有很多方法。您可以使用联接、子查询而不是intersect。下面是EQUI JOIN查询,这是刚刚提示找到预订红绿船的水手,看完评论链接后可以应用最好的:

SELECT s.* 
FROM Sailor as s,
     Boat as b,
     Reserve as r   
WHERE 
    s.sid = r.sid AND 
    b.bid = r.rid AND 
    b.color LIKE 'red' AND 
    b.color LIKE 'green
 类似资料:
  • 问题内容: 问题1: 我有一个具有以下结构和数据的表: 我想以以下格式显示这些记录: 我知道我需要使用交叉表/数据透视查询来获得此显示。为此,我基于对它的有限知识对其进行了尝试。以下是我的查询: 根据此查询,我得到以下显示: 任何人都可以帮助我对查询进行适当的更改以获取单行而不是如上所述的多行记录。 问题2: 还有一种方法可以获取特定字段的值作为列的名称。正如你可以在上面看到我有,,…作为标题。取

  • 问题内容: 我目前有一个使用以下sql的硬编码视图: 我的问题是是否可以从角色表中的记录动态生成角色列。 问题答案: 您 可以 做您想做的事,但是我不确定 为什么 要这么做。获得动态列别名后,如何计划引用它们?也就是说,如果您从数据库中提取列别名,那么您将如何使用它们呢?我可能错过了您提出问题的原因。 无论如何,我假设您具有这样的结构: 由此,您可以获得有关用户及其角色的信息: 您还可以为特定角色

  • 问题内容: 我正在使用此查询: 产生以下结果: 我改变了场CAT_ID到一个名为新表包含的字段,,。我如何通过也加入该表来编写新查询,以获得与上述相同的结果? 我是数据库新手,需要帮助。提前致谢 问题答案: 试试这个: 这个想法很简单,在新表中的第一个字段是工作作为 代理键 ,它没有任何与其他两个表之间的关系。然后,我们来到了另外两个领域是哪些,这些你应该映射到关系的其他两个方面。 您不能使用新模

  • 问题内容: 我正在运行此查询 但这不是我想要的结果,它返回多行。 我的一张桌子看起来像这个名字: 另一个表看起来像这个名字: 我如何使其选择查询,以便可以从两个表中获取与之相关的所有值,并使它看起来像这样 所需的输出: 谢谢!(提前!) 问题答案: 为您提供所需的输出(但这并不灵活,因此,如果添加要输出的更多详细信息,将无法进行更改而不进行更改):-

  • 问题内容: 我有3个bean:组织,角色,用户 角色-组织关系-@ManyToOne 角色-用户关系-@ManyToMany 组织机构: 角色: 用户名: 因此,我需要获取指定用户的所有组织(首先,我需要选择所有用户角色,然后选择具有此角色的所有组织) 我有一个实现此逻辑的sql语句(例如,我选择id = 1的用户): 如何使用hibernate命名查询机制实现此目的?谢谢! 问题答案: @Nam

  • 问题内容: 第一次问有关Stack Overflow的问题…令人惊讶的资源,但是有一点让我作为SQL的新手感到困惑。 我有三个表,我想获取与鲍勃的学生相关的所有导师的姓名。 表1:老师 表2:学生 表3:MENTOR_RELATIONSHIPS 表4:导师 我想查询一下鲍勃学生的所有导师。因此,所有学生的导师 在这种情况下,肖恩就是结果。 我知道这与Joins有关,还是可以使用常规查询找到它??