gpt4 book ai didi

mysql - MySQL如何选择内容相同但列不同的行?

转载 作者:行者123 更新时间:2023-11-30 23:36:16 25 4
gpt4 key购买 nike

我有一个包含三列的 MySQL 表,X、Y 和 Z

|    X      |     Y     |      Z    |
-------------------------------------
| john | patrick | active |
| john | miles | inactive |
| patrick | john | active |

我想选择行数据,给定 'john' 作为输入,对应于 john-patrick 对 - 也就是说,john 和 patrick 都在 X 或 Y 中(就像 select * rows from TABLE where X = john 或 Y = john 以及其中...)

这可能吗?如果是,怎么办?

最佳答案

如果我没理解错的话,值需要在 X Y 中(不包括示例中的元组 ('john', 'miles', 'inactive'))。

那么你将需要子查询:

select X,Y,Z from TABLE where
(X = 'john' or Y = 'john') and
X in (select Y from TABLE) and
Y in (select X from TABLE);

编辑:第一个查询是错误的,感谢 ypercube(见评论)。

更正版本:

select X,Y,Z from TABLE where
(X = 'john' or Y = 'john') and
X in (select Y from TABLE as subTable WHERE
TABLE.X = subTable.Y and TABLE.Y = subTable.X) and
Y in (select X from TABLE as subTable WHERE
TABLE.X = subTable.Y and TABLE.Y = subTable.X);

关于mysql - MySQL如何选择内容相同但列不同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7130369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com