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

OMGPonies、何かアイデアはありますか?

ありがとうございました。

-ラクシュミディ

4

2 に答える 2

3

/ meは私の額を叩きます-私のせいです、ごめんなさい。

これを使って:

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 に答える