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

时间:2017-01-06 05:22:18

标签: php mysql sql

正在处理个人项目。我正在尝试编写一个SQL查询(using PHP and MYSQL),它根据某些条件从表中选择适当的行。

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

所以,我有一个名为Friendship_Request的表。虽然该表有多列,但其中一列称为Requester_ID,另一列称为Requestee_ID。如果其中一列符合我在查询中传递的值(例如userID),那么我希望查询将我带回其他列中的值。例如,

enter image description here

如果我将200作为userID传递,那么查询应该带回201,400和901.你是怎么做到的?这有名字吗?我甚至不知道谷歌会怎么做。

感谢您的时间。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

enter image description here首先,我们获取所有Requester_ID和Requestee_ID,其值等于userID。然后,如果Requester_ID == userID,我们选择Requestee_ID,如果Requester_ID!= userID,则选择Requester_ID。

void GenerateTiles()
{
    ...
    GameObject tileObject = Instantiate(boardController.tilePrefab);
    TileController tileController = tileObject.GetComponent<TileController>();
    tileController.Init();
    ...
}

输出:

请求

201

400

901

答案 2 :(得分:0)

一种选择是使用UNION

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