MySQL - 在带有WHERE子句的子查询中使用别名

时间:2010-04-19 20:19:03

标签: mysql

我有一种感觉,我完全不知道这个MySQL查询,但无论如何我都会问。我想知道为什么我在运行以下内容时收到警告Unknown column 'FOO', and how I can get this query to work properly, in 'where clause'

SELECT sample_id AS FOO 
FROM   tbl_test 
WHERE  sample_id = 521 
       AND sample_id IN (SELECT sample_id 
                         FROM   tbl_test 
                         WHERE  sample_id = FOO 
                         GROUP  BY sample_id) 

编辑此查询在其他服务器上正常运行,并且如上所述在新服务器上失败。旧的是v 5.0.45,新的是5.0.75。

1 个答案:

答案 0 :(得分:3)

SELECT sample_id 
FROM   tbl_test outter 
WHERE  sample_id = 521 
       AND sample_id IN (SELECT sample_id 
                         FROM   tbl_test 
                         WHERE  sample_id = outter.sample_id 
                         GROUP  BY sample_id)