1

我为选择某个用户进行了示例查询,并创建了一个值为 1 的假列,以便在 where 语句中使用它,但它不起作用。得到的错误是

未知列 type_user

例子:

表用户

id | name | surname | type_user /* fake column */
1    Jhon   Smith        1
2    Elis   Sun          1

在选择类似的东西:

SELECT id,name,surname, 1 as type_user 
WHERE type_user = 1

我知道用这个逻辑做这个查询是非常愚蠢的,但我想了解如何在哪里使用假列。

4

2 回答 2

6

您可以尝试将其作为子查询进行:

SELECT * FROM (
    SELECT id,name,surname, 1 as type_user
    FROM table_name
) as `ta`
WHERE ta.type_user = 1;
于 2013-10-30T12:56:25.907 回答
0

您可以使用 HAVING 而不是 WHERE

SELECT id,name,surname, 1 as type_user HAVING type_user = 1
于 2016-08-16T08:47:50.777 回答