繁体   English   中英

选择在MySQL的两列之间选择值

[英]Choose to Select Value Between Two Columns in MySQL

只是从事个人项目。 我试图编写一个SQL查询( using PHP and MYSQL ),该查询根据某种条件从表中选择适当的行。

我做了一些研究,并且已经摆弄了几天,但没有运气。

因此,我有一个名为Friendship_Request的表。 尽管该表有几列,但其中一列称为Requester_ID ,另一列称为Requestee_ID 如果其中一列与我在查询中传递的值匹配(例如userID ),那么我希望查询将我带回另一列中的值。 例如,

在此处输入图片说明

如果我将200作为用户ID传递,则查询应返回201、400和901。如何执行此操作? 这有名字吗? 我什至不知道Google怎么办。

谢谢你的时间。

SELECT if(Requester_ID=200, Requestee_ID, Requester_ID) as friendid FROM Friendship_Request WHERE Requester_ID = 200 OR Requestee_ID=200;

希望此查询能解决您的问题。

在此处输入图片说明 首先,我们获取所有与userID相等的Requester_ID和Requestee_ID。 然后,如果Requester_ID == userID,则选择Requestee_ID;如果Requester_ID!= userID,则选择Requester_ID。

SELECT IF( Requester_ID = 200, Requestee_ID, Requester_ID ) AS Request
FROM Requester
WHERE Requester_ID = 200 OR Requestee_ID = 200

输出:

请求

201

400

901

一种选择是使用UNION

SELECT Requester_ID AS ID
  FROM Friendship_Request
 WHERE Requestee_ID = 200
 UNION
SELECT Requestee_ID
  FROM Friendship_Request
 WHERE Requester_ID = 200;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM