【问题标题】:MySQL unknown columnMySQL 未知列
【发布时间】:2010-08-03 23:42:41
【问题描述】:

为什么会出现这个错误:

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,有什么想法吗?

谢谢。

-拉克西米迪

【问题讨论】:

    标签: sql mysql mysql-error-1054


    【解决方案1】:

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

    使用这个:

    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
    

    【讨论】:

    • 嗨,天哪,小马们,效果很好。谢谢。我已经阅读了 CASE 和 WHEN,因为它们超出了我的“SELECT *”级别技能。再次感谢。
    【解决方案2】:

    子查询出错 - 此处未定义别名 t

              (SELECT *, 
              CASE t.type
                WHEN 'Advanced' THEN t.type
                ELSE 'Non-Advanced'
              END AS group_type
              FROM tester)x .... 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-09
      • 2012-10-08
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2016-04-01
      • 2016-09-07
      相关资源
      最近更新 更多