具有链接到同一主键的多个外键的表 (2)

2024-04-11

只是为了扩展我的上一期 - 我的数据库中有两个表,我想提取某些信息。下表:

   (player): player_id (primary), playerName
    (match): match_id (primary), playerID1, playerID2, playerID3, scorer etc..

您向我提供了以下代码来获取玩家姓名:

SELECT p.Name 
FROM `match` m
INNER JOIN `player` p 
    ON p.player_id IN (m.playerID1, m.playerID2, m.playerID3) //etc

效果很好,谢谢 - 我只想做两个调整:

  1. 我想返回得分手的姓名以及球员的姓名。由于 m.scorer 是一个 ID,如果 p.Name 已映射到 m.playerID,如何将其映射到 p.Name 属性?
  2. 上面的查询返回所有玩家的姓名。我很快就会添加一个搜索功能,您可以在其中搜索某个球员的所有比赛。无论如何,是否可以将该球员从结果中排除(因为我们已经知道该球员在被搜索时就在比赛中)。因此,几乎会返回所有比赛以及某个玩家的其他玩家,但从结果中排除实际搜索到的玩家。抱歉,如果不清楚,请告诉我,我会详细说明。

尝试类似以下内容(假设字段名称)。它会向您显示球员的姓名、比赛的 matchId 以及他们是否在那场比赛中得分:)。

SELECT p.Name as 'Player Name', m.matchId as 'Match Id',
CASE s.scorerId WHEN ISNULL(S.SCORERID,0) THEN 'YES' ELSE 'NO' END as 'Scored?',
s.name as 'Scorer Name' --as requested from comment
FROM match m
INNER JOIN player p ON p.player_id IN (m.playerID1, m.playerID2, m.playerID3)
LEFT JOIN scorer s ON s.matchId = m.matchId
    AND s.player_id IN (m.playerID1, m.playerID2, m.playerID3)

请参阅此 SQLFiddleHERE http://sqlfiddle.com/#!3/35fb2/1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有链接到同一主键的多个外键的表 (2) 的相关文章

  • Extbase - 从查询中获取创建的sql

    我想从我的typo3 扩展中获取一些数据库表 该扩展基于 extbase 查询总是不返回任何内容 但数据存在 我试过这个 query this gt createQuery query gt statement SELECT FROM my
  • 自动提取数据 - Oracle SQL Developer

    我通过 SQL Developer 连接到 Oracle 数据库 我想编写一个返回每月数据集的查询 然后将该数据提取到分隔文本文件中 我知道如何做到这一点就好了 我想知道是否有一种方法可以编写一个脚本来运行查询并在一年内逐月提取数据 这样我
  • 使用 .NET 中的类型化数据集将 SQL 参数传递给 IN() 子句

    首先道歉 因为该网站上有类似的问题 但没有一个直接回答这个问题 我在 VS 2010 中使用类型化数据集 我在数据集中创建一个 TableAdapter 查询如下 SELECT from Table WHERE ID IN IDs 现在如果
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V
  • 一个表可以有多个主键吗?

    我现在很困惑 也许你可以帮助我更好地理解这个问题 即一个表可以有两个主键 如果是 那么如何 如果没有 那为什么 您询问是否可以有多个主键field你当然可以 您只能有一个主键 但它可以包含唯一标识行所需的任意数量的列 创建表时使用类似这样的
  • 需要 SQL 查询澄清[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个由以下列组成的表 billid patientid doctorid fees 如何显示治疗多名患者的医生 尝试了以下代码并得到了
  • 当从属文本框中没有输入文本时,如何让 gridview 显示所有表格行?

    下面的代码可以正常工作 并根据文本框中输入的文本过滤我的网格视图 当我的文本框中没有输入任何文本时 我没有得到任何结果 并且无法理解为什么 我的问题 如何让gridview显示all当文本框中没有输入文本时表行 MSSQL Search n
  • 选择多列 按一列分组 按计数排序

    我在Oracle中有以下数据集 c1 c2 c3 1A2 cat black 1G2 dog red B11 frog green 1G2 girl red 试图得到以下结果 基本上我首先尝试获取具有重复 c1 的行 c1 c2 c3 1G
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • SQL Server使用in关键字传递字符串数组查询

    我认为 IN 子句不能接受具有多个值的绑定参数 Oracle 不能 需要几分钟 查询是 declare setting varchar max set setting Sales Entry Grid Cursor Customer Man
  • 如果 Oracle SQL 中存在视图,则删除视图[重复]

    这个问题在这里已经有答案了 我是 Oracle 数据库系统的新手 Oracle 12c 中以下 SQL 语句的等效项是什么 DROP VIEW IF EXIST
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • SQL Server 中离线索引重建和在线索引重建有什么区别?

    重建索引时 有一个选项ONLINE OFF and ONLINE ON 我知道当ONLINE模式打开时 它会复制索引 切换新查询以利用它 然后重建原始索引 使用版本控制跟踪两者的更改 如果我错了 请纠正我 但是 SQL 在离线模式下会做什么

随机推荐

  • 一个人可以采用敏捷技术吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 目前正在找工作 我看到很多地方都要求敏捷经验 但在我找到使用敏捷的团队的工作之前 我怀疑我永远不会获得这种经验 是否可以仅由一个人采用敏捷方法
  • AttributeError:模块“numpy”没有属性“core”

    我想知道是否有人在运行 Spark 并尝试导入 numpy 时遇到这个问题 Numpy 在标准笔记本中正确导入 但是当我尝试通过运行 Spark 的笔记本导入它时 出现此错误 我有最新版本的 numpy 并且正在运行最新的 anaconda
  • RxJava 中的笛卡尔积

    是否有可能在rxjava中获得两个Observables的笛卡尔积 像这样的事情 A gt 1 2 3 B gt a b A x B gt 1 a 1 b 2 a 2 b 3 a 3 b 你想要的是 对于一个数字 产生与你有字母一样的一对
  • 提交 OSX 应用程序及其捆绑包中的帮助程序应用程序

    我真的要被这个问题搞疯了 我有一个应用程序 其中包含一个简单的帮助程序应用程序 用于管理主应用程序的登录项 当我尝试提交应用程序时 我收到与配置文件和权利相关的错误 我确信问题与助手应用程序有关 因为在我添加它之前 提交工作没有问题 目前
  • PHP获取下拉列表选择选项值

    在我的下拉列表中 每个选项都有两个不同的值 我怎样才能检索两者 让我来说明一下我的意思
  • 从 Html 源在 Excel 中创建注释

    因此 可以从 Html 创建 Excel 文件 我发现很多事情都是可能的 比如添加图像 格式化等 只需一些 css 调整 然而 我现在想做的是让小红色三角形评论显示出来 我创建了一个空白的 Excel 文件 除了注释之外什么都没有 但它生成
  • 在 python 中向量化 for 循环

    我是 python 的新手 有一个关于向量化代码的问题要问 def makeNames2 nList for nLi in nList nLIdx i for i j in enumerate nList if j nLi if nLIdx
  • 如何将 MapView 从像素缩放到米

    我正在制作一个使用 Google Maps API 的 Android 应用程序 我想将 MapView 缩放到 X pixels X meters 例如 我的屏幕中 MapView 的 5 像素 实际距离为 20 米 那可能吗 Thx 使
  • React table v7固定列与react-window

    我有一张带有react table v7 的表 使用react window进行虚拟化 现在表的最后一列已修复 但我无法修复表的最后一列 React window 的内部元素有overflow auto这不会让色谱柱最终变得粘稠 这是lin
  • VisualStateManager WPF 不工作

    我专门在 VS Blend 2017 设计器中设计了一个窗口 没有对 XAML 代码进行任何更改 我创建了一个 StateGroup 和一个 State 并记录了 Button 上的更改 当尝试从代码隐藏应用状态时 没有任何反应 我也看过同
  • 我的基于角色的访问控制是可行的解决方案吗?

    我正在我的 PHP 项目中设计一个非常简单的 RBAC 基于角色的访问控制 系统 经过一番思考后 我想出了一个解决方案 但是对构建业务系统了解不多 我不确定是否有或可能是我的解决方案的任何重大设计缺陷 基本上 我想为用户提供一组 角色 我将
  • 即使关闭 android studio 后,Gradle 仍将 java 作为一个进程

    On mac system whenever i close android studio it leaves java process and java process keep running and keep hogging the
  • MATLAB - 相关属性和计算

    假设我有以下类来计算二次方程的解 classdef MyClass lt handle properties a b c end properties Dependent true x end methods function x get
  • Multer文件上传错误,请求挂起

    我以前从未写过问题 因为我总是在提问之前在这里找到问题的答案 然而 我在 Express 上的文件上传 POST 路由上的 fileFilter 函数上遇到了困难 我在路由中使用了 multer 上传功能 也作为中间件 后面有一个错误处理中
  • httrack wget 卷曲抓取和获取

    互联网上有许多工具可用于下载网站的静态副本 例如 HTTrack 还有许多工具 其中一些是商业工具 用于从网站 抓取 内容 例如 Mozenda 还有一些显然内置于 PHP 和 nix 等程序中的工具 您可以在其中 file get con
  • 如何获取多个输入Python [重复]

    这个问题在这里已经有答案了 我正在用 Python 编写一个程序 我想在其中执行以下操作 我通过写作要求特定的输入 x int input 现在 给定我分配给该输入的数字 N 我将获得 N 行请求新输入 例如 如果我输入数字 3 我希望程序
  • 在正方形内绘制 geom_tile 边框以防止重叠

    我希望能够绘制边界geom tile它们不重叠 因此边界可以传达自己的信息 而不会因边界消失而使观看者感到困惑 library ggplot2 state lt data frame p runif 100 x 1 10 y rep 1 1
  • 如何在 Windows 10 上为 conda 初始化 shell?

    当我跑步时conda init cmd exe在正常或管理模式下 我收到以下错误 WARNING Cannot install xonsh wrapper without a python interpreter in prefix C U
  • 如何在 git 的另一个分支上创建一个分支中的快照副本(提交)?

    当我开始使用 Git 时 我首先了解到的一件事是 Git 并不将信息存储为基于文件的更改 补丁 列表 而是存储为快照流 提交是所有存储库的快照 考虑我们在存储库中有两个分支 Branch A 和 Branch B 无论它们之间的关系如何 它
  • 具有链接到同一主键的多个外键的表 (2)

    只是为了扩展我的上一期 我的数据库中有两个表 我想提取某些信息 下表 player player id primary playerName match match id primary playerID1 playerID2 player