检查两个值是否存在并且 return 命名为布尔值

Check if two values exists and return named boolean

我正在尝试检查 table 中是否存在两个值,例如 pseudo 和 email:如果用户想在我的网站上注册,我必须检查他的 pseudo 和 email 是否已经被占用.

所以这就是我所做的:

"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=) 
UNION ALL 
SELECT EXISTS (SELECT 1 FROM users WHERE mail=)", pseudo, email 

(最后的"pseudo, email"是因为我用的是Golang,那些是语句中传递的变量)

有效,例如 return "false false"。但我希望它 return 像这样:

pseudo: false
email: false

但我不知道如何命名 return 的布尔值。我试过这个:

"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=) AS pseudo
UNION ALL 
SELECT EXISTS (SELECT 1 FROM users WHERE mail=) AS email", pseudo, email

但是它给我一个错误。

你知道我该怎么做吗?

您可以在具有适当列名的单行中获得结果,例如:

SELECT 
    EXISTS (SELECT 1 FROM users WHERE pseudo=) AS pseudo,
    EXISTS (SELECT 1 FROM users WHERE mail=) AS mail