0

为什么我会收到此错误:

1054 - '字段列表'中的未知列't.type'

我的表中有一个名为 type 的列。而且我有使用别名 t 的表'tester'。

SELECT y.*,
           (SELECT COUNT(*)
              FROM (SELECT *, 
                           CASE t.type
                             WHEN 'Advanced' THEN t.type
                             ELSE 'Non-Advanced'
                           END AS group_type
                      FROM tester) x
             WHERE x.group_type = y.group_type
               AND (x.grade1 + x.grade2) >= (y.grade1 + y.grade2)) AS rank
      FROM (SELECT t.name,
                   t.grade1,
                   t.grade2,
                   t.type,
                   CASE t.type
                     WHEN 'Advanced' THEN t.type
                     ELSE 'Non-Advanced'
                   END AS group_type
              FROM tester t) y

OMGPonis,有什么想法吗?

谢谢你。

-拉克西米迪

4

2 回答 2

3

/我拍了拍我的额头——我的错,对不起。

用这个:

SELECT y.*,
       (SELECT COUNT(*)
          FROM (SELECT *, 
                       CASE type
                         WHEN 'Advanced' THEN type
                         ELSE 'Non-Advanced'
                       END AS group_type
                  FROM tester) x
         WHERE x.group_type = y.group_type
           AND (x.grade1 + x.grade2) >= (y.grade1 + y.grade2)) AS rank
  FROM (SELECT t.name,
               t.grade1,
               t.grade2,
               t.type,
               CASE t.type
                 WHEN 'Advanced' THEN t.type
                 ELSE 'Non-Advanced'
               END AS group_type
          FROM tester t) y
于 2010-08-03T23:45:39.140 回答
1

子查询中的错误 - 此处未定义别名 t

          (SELECT *, 
          CASE t.type
            WHEN 'Advanced' THEN t.type
            ELSE 'Non-Advanced'
          END AS group_type
          FROM tester)x .... 
于 2010-08-03T23:52:45.303 回答