有条件地选择 MYSQL 列

2023-11-27

我的问题的示例架构位于SQLFiddle如下:

CREATE TABLE `players` (
  `player1id` int(11) NOT NULL,
  `player2id` int(11) NOT NULL,
  PRIMARY KEY (`player1id`,`player2id`)
) ENGINE=InnoDB;

INSERT INTO `players` values
(1,5),
(1,7),
(5,3),
(5,4),
(2,1);

在在线游戏中,我想选择对手,可以是玩家player1id or player2id.

所需输入/输出示例

Input 1: Output 5, 7, 2
Input 5: Output 1, 3 ,4
& so on.

也就是说,所需的数据可以位于任何列中,但我需要有条件地或以任何其他方式在单列中输出。我听说过 MySQL 条件列,但无法创建查询来获取所需的输出。有人可以帮助解决所需的查询吗?

Edit

基于这个链接,我运行以下查询但失败了。

SELECT IF(PLAYER1ID IS 1,PLAYER2ID as opponent,PLAYER1ID as opponent) 
FROM players
WHERE PLAYER1ID = 1 OR PLAYER2ID = 1;

我想你可能会使用case when then语法如下:

SELECT CASE WHEN player1id = 1 THEN player2id ELSE player1id  END
FROM players WHERE player1id =1 OR player2id=1;

或者:

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

有条件地选择 MYSQL 列 的相关文章

  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • MySQL 排序顺序 - 排序规则?

    我在对 MySQL 中的 char 字段进行排序时遇到困难 问题是重音字符与非重音字符混淆 例如 Abc bd Acc 我认为这可能与整理有关 所以我将表格的排序规则更改为utf8 ut8 bin 看完之后这个帖子 https stacko
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • 内置函数将每个单词的第一个字母大写

    如果 SQL Server 中已存在此类函数 我不想为此创建自定义函数 输入字符串 This is my string to convert预期输出 This Is My String To Convert SET ANSI NULLS O
  • 如何通过 SQL 表关联 SQL 中的实体

    我是数据库设计的初学者 我需要为项目创建数据库 我可以用面向对象的术语解释我想要做什么 值得庆幸的是 数据库专家会很友善地向我解释如何在数据库方面处理这个问题 我想创建一个与位置实体 州 城市 有关系的用户 ID 名称 实体 所以在编程语言
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 解析带下划线的 SQL Server 数字文字

    我想知道它为什么有效以及为什么它不返回错误 SELECT 2015 11 Result 11 2015 第二种情况 SELECT 2 1 a a 2 1 检查元数据 SELECT name system type name FROM sys
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 如何在 SQL Server 中连接

    我的数据库没有特定的列 因此我通过开关在查询中创建了一个列 我需要的是将此列与数据库中的另一列连接起来 select certificateDuration DurationType case when certificateDuratio
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • MySQL 转储未知选项“-no-beep”

    在旧服务器上我使用了mysql转储命令来备份 MySQL 数据库 在新服务器上 MySQL 版本为 5 6 相同的命令给出了错误 unknown option no beep 无论它插入什么 我也在互联网上搜索过 但找不到任何帮助 在 my

随机推荐

  • 请求未到达控制器但仍收到 200 响应

    我正在玩弹簧安全并试图确保一个安静的应用程序 但后来遇到了这个相当荒谬的问题 我的控制器上的所有操作都很好 请求被接受 但请求实际上从未到达控制器 并且始终返回 200 没有任何内容 我的安全配置如下所示 package com bpawa
  • 使用滑动 TabLayout 以编程方式更改选项卡

    我正在使用滑动Tab布局谷歌提供的示例 我正在尝试以编程方式切换回片段内的dialogView 内的第一个选项卡 我看到一个scrollToTab int tabIndex intpositionOffset 我怎样才能调用它返回到第一个选
  • 将 YouTube 视频嵌入

    我通过在互联网上找到的片段嵌入了 YouTube 的视频 以下是我使用的代码 interface FirstViewController Private void embedYouTube NSString urlString frame
  • 与其他测试用例一起运行时 Django 单元测试失败

    我的 Django 单元测试行为不一致 在我使用 sqlite 的开发机器上 如果我分别在两个应用程序上运行测试 测试就会通过 但是如果我运行manage py test为了一次测试所有内容 我开始在两次测试中一致地获得单元测试失败 在我使
  • 是否有一个 eclipse 插件可以为“javascript 显示模块模式”创建大纲视图?

    我喜欢 eclipse 经过一些调整它可以用于 javascript 编程 有语法完成 linting 格式化 还有 大纲 尽管仅适用于简单的 javascript 文件 令我烦恼的是 遵循 显示模块 设计模式的文件没有 大纲视图 这恰好是
  • 使用 eclipse 的 JSP 间歇性 ClassNotFoundException

    在 Windows 上运行 Eclipse Indigo Tomcat 7 使用 eclipse wtp 插件在 ROOT 上下文中运行 Web 应用程序 我遇到了这个间歇性问题 其中 eclipse 无法找到已编译的 JSP 首次访问JS
  • 解析 .NET 中的纯 Win32 PE 文件(Exe/DLL)

    我需要解析普通的 Win32 DLL Exe 并从中获取所有导入和导出以在控制台或 GUI 即 Win Forms 上显示 是否可以通过读取导出 导入表来解析 C NET 中的 Win32 DLL Exe 并从中获取托管类型 由于它是非托管
  • ElasticSearch 术语聚合

    我尝试使用弹性搜索通过以下查询对下面的数据执行术语聚合 输出将名称分解为标记 请参见下面的输出 所以我尝试将 os name 映射为 multi field 现在我无法通过它进行查询 是否可以有没有 token 的索引 比如 Fedora
  • 使用 Android 蓝牙发送文件?

    有什么方法可以使用 Android 的内部蓝牙将文件发送到其他设备吗 请举个例子 这是一个小功能 你可以使用 Method to share data via bluetooth public void bluetoothFunctiona
  • SSIS——允许任务失败但包成功?

    有没有办法允许脚本任务失败 但包执行结果仅基于other任务的执行结果 例如 我有 5 个任务 我不在乎任务 2 的结果是什么 但如果其他任何任务失败 我希望包失败 不然我希望它成功 这可能吗 还有设置FailPackageOnFailur
  • x,y数据逆时针排序

    I have a set of points in a text file random shape dat The initial order of points in the file is random I would like to
  • 维基百科 API:如何搜索特定类别中的术语

    我很难弄清楚一项基本任务 如何找到术语 限制在特定类别 我觉得 Wiki API 文档有点令人困惑 我只想接收一个 JSON 文件作为输出 其中包含与该术语相关的所有建议 前任 我搜索矩阵 类别 电影 这样我就可以拥有 黑客帝国 1 黑客帝
  • 如何在垂直recyclerview android中实现Vertical Recyclerview?

    假设我有2 items in a RecyclerView其中每个项目都有一个innerrecyclerview其中有周围100 件其中两者都是垂直的或任何对现有问题没有任何影响的东西 我已经在其他 stackoverflow 问题或其他
  • 创建无丢帧的无尽 cgpath

    我需要不断创建一个cgpath 目前我是这样做的 func createLine var rand randomBetweenNumbers 1 2 currentY if rand lt 1 5 currentX CGPathAddLin
  • Qt 应用程序:无法加载平台插件“windows”。可用平台有:

    我用 msvc2010 编译了 Qt 5 0 0 因为我需要带有配置字符串的 opengl configure prefix CD qtbase opensource nomake nomake examples nomake demo o
  • Keras:使用带有 flow_from_dataframe / flow_from_directory 的 ImageDataGenerator 时如何禁用图像大小调整?

    我正在尝试使用 ImageDataGenerator 并将自定义函数传递给preprocessing function范围 但是 根据 Keras 文档 此函数仅在图像大小调整后才会运行 预处理函数 每个输入隐含的函数 该函数将在图像大小调
  • Node.js 中的“未捕获的语法错误:意外的标记 <”

    当我尝试提供客户端代码时 出现以下屏幕截图错误 当我尝试跑步时node server server js 下面是我的服务器 js code app use express static path join dirname public ap
  • 如何在 python 中进行模拟并仍然允许执行模拟函数的实际代码

    我最近开始使用 python 中的模拟框架 似乎如果我修补一个函数 则不会调用实际代码 这意味着该实际函数所做的数据库更改等未实现 我一直试图通过预先调用该函数并存储返回值并将其作为 arg 在 patch 中传递来绕过它 但是 有更好的方
  • Android:如何获取当前设备 WiFi-direct 名称

    在 P2P 设置中 我了解如何获取另一个设备的名称 但如何获取我自己的设备的名称 设置下的 WiFi direct 中显示的那个 我检查过WiFiManager WiFiInfo 还有更多没有成功 打开设备上的 wifi 后 它会发送 WI
  • 有条件地选择 MYSQL 列

    我的问题的示例架构位于SQLFiddle如下 CREATE TABLE players player1id int 11 NOT NULL player2id int 11 NOT NULL PRIMARY KEY player1id pl