MYSQL 选择列 A 或 B,如果其中一个 = X 并加入列 A 或 B 中的另一个非 X 值

标签 mysql

我有一个项目的成对距离表。 给定一个项目 ID,我想列出配对的项目 ID。 然后,我想将其连接到另一个表,该表包含有关其他匹配项目的更多详细信息。

表 A.

    +-------+-----------+----------+
    | ItemA | ItemB     | Distance |
    +-------+-----------+----------+
    |    12 |     33    | 13.0     |
    |    12 |      4    | 14.6     |
    |    43 |     12    | 17.8     |
    |    44 |     12    | 19.6     |
    +-------+-----------+----------+

我最好的猜测是选择在 ItemA 或 ItemB 中将 X 作为值的行,并有一个输出列 AS ITEM。

半完整/错误的Mysql:

Select *, (NON X Column Value) AS ITEM FROM TableA WHERE (ItemA = X) OR (ItemB = X) 

我可以稍后将 JOIN 部分添加到查询中。

谢谢

最佳答案

(NON X Column Value) 应该类似于 CASE WHEN ItemA = X THEN ItemB ELSE ItemA END

关于MYSQL 选择列 A 或 B,如果其中一个 = X 并加入列 A 或 B 中的另一个非 X 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5526946/

相关文章:

MySQL 将字符串从一个字符替换为另一个字符

php - 检查用户级别但不起作用

PHP - 从 mySQL 服务器检索数据

mysql - 在 SQL oracle 中对特定列使用 replace with select 语句

php - 有什么办法可以优化这个mysql查询吗?

mysql - 在 MySQL 中将多行合并为一行,无需组连接

php - mysql 准备好的语句,既没有错误也没有数据库中的数据

javascript - 将此信息存储在数组或数据库中更好吗?

php - 列出多维数组

java - 外部库中的 jar 但无法在代码中导入