在where语句mysql上使用假列

时间:2013-10-30 12:55:05

标签: mysql sql

我已经选择了一些用户的示例查询,我创建了一个值为1的假列,用于在where语句中使用它,但它不起作用。得到的错误是

  

未知列type_user

示例:

table_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

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

2 个答案:

答案 0 :(得分:6)

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

SELECT * FROM (
    SELECT id,name,surname, 1 as type_user
    FROM table_name
) as `ta`
WHERE ta.type_user = 1;

答案 1 :(得分:0)

您可以使用HAVING而不是WHERE

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