2013-10-30 29 views
1

我已经做了一个查询的例子,选择一些用户,我创建了一个值为1的虚假列,以便在where语句中使用它,但它不起作用。错误得到的是在哪里声明使用虚假列mysql

未知列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 

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

回答

6

你可以尝试做它作为一个子查询:

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

您可以使用具有代替WHERE

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