正在处理个人项目。我正在尝试编写一个SQL查询(using PHP and MYSQL
),它根据某些条件从表中选择适当的行。
我做了一些研究,并且已经摆弄了几天但没有运气。
所以,我有一个名为Friendship_Request的表。虽然该表有多列,但其中一列称为Requester_ID
,另一列称为Requestee_ID
。如果其中一列符合我在查询中传递的值(例如userID
),那么我希望查询将我带回其他列中的值。例如,
如果我将200作为userID传递,那么查询应该带回201,400和901.你是怎么做到的?这有名字吗?我甚至不知道谷歌会怎么做。
感谢您的时间。
答案 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)
首先,我们获取所有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;