使用不同字段

时间:2016-11-29 16:38:45

标签: php mysql sql

我想要完成的是从ID中找到几个人的用户名。这个想法不必发送多个查询,因为我想从同一个表行的几个字段中找到用户名。

所以我通常发送的内容如下:

Select username FROM users where ID =10.
Select username FROM users where currentUser =15
Select username FROM users where previousUser =2.

我想做的是以下用英文而不是查询

编写的内容
SELECT username1, username2, username3 from users 
currenttable.ID = users.ID creates username1
currenttable.currentID = users.ID  creates username2
currenttable.previousID = users.ID  creates username2

3 个答案:

答案 0 :(得分:0)

LEFT JOIN是你的朋友。尝试这样的事情:

SELECT
 u1.username AS username1,
 u2.username as username2,
 u3.username AS username3
FROM users u1 
left join users u2 ON u2.currentID = u1.ID  
left join users u3 ON u3.previousID = u1.ID ;

答案 1 :(得分:0)

我可能不理解这个问题,但是从我收集的内容来看,你不能只使用这样的查询:

SELECT username FROM users u WHERE u.ID = 10 OR u.currentUser = 15 OR u.previousUser = 2;

答案 2 :(得分:0)

您可以使用MySQL UNION在一行中获取所有3个结果

SELECT username as username1 FROM users WHERE id = 1 
UNION
SELECT username as username2 FROM users WHERE id = 2 
UNION
SELECT username as username3 FROM users WHERE id = 3

或@Bernd Buffen已经回答,您可以使用LEFT JOIN