MYSQL如何在查询结果中加入列?

时间:2014-08-11 01:34:02

标签: mysql

我有这个MYSQL查询

SELECT username,password,enabled FROM USERS WHERE username=?

输出3列:用户名,密码,已启用。

现在我要做的是在查询中包含email_address,在USERNAME下输出

SELECT username,password,enabled FROM USERS WHERE username=? or email_address=?

仍然输出3列:用户名(可以来自email_address),密码,已启用。

我能这样做吗?怎么样?

2 个答案:

答案 0 :(得分:0)

SELECT CONCAT('"', username, '" <', email_address, '>') as username
FROM users
WHERE ...

答案 1 :(得分:0)

使用COALESCE,您应该只获得第一个可用结果。因此,如果用户名中的数据不会显示在列中,则email_address将显示。

SELECT COALESCE(username, email_address),password,enabled FROM USERS WHERE username=? or email_address=?

CONCAT_WS将从两列获取数据并将其放入一个

SELECT CONCAT_WS(' ', username, email_address),password,enabled FROM USERS WHERE username=? or email_address=?