1
mysql> Select Emp_B AS Total
    -> From (Select Sum(mines.NoOfWorkers) AS Emp_B from mines);
ERROR 1248 (42000): Every derived table must have its own alias

mysql> Select Emp_B AS Total
    -> From (Select Sum(mines.NoOfWorkers) from mines) AS Emp_B;
ERROR 1054 (42S22): Unknown column 'Emp_B' in 'field list'

この SQL ステートメントに問題があります。どんな援助でも大歓迎です

4

3 に答える 3

1
Select Emp_B AS Total
From (Select Sum(mines.NoOfWorkers) AS Emp_B from mines) x;

エラーが示すように、上記Every derived table must have its own alias のようにエイリアスを付けてくださいx。OR AS x、ただしAS単語はオプションです。

または、なぜエイリアスを2回...

Select Total
From (Select Sum(mines.NoOfWorkers) AS Total from mines) x;

しかし、SUM は正確に 1 つの値を返すため、より大きなクエリからクエリを単純化しない限り、これはまったく同じ結果になります??

Select Sum(mines.NoOfWorkers) AS Total from mines;
于 2011-03-27T22:58:23.643 に答える
1

これでうまくいくはずです。ただし、この1つのサブ選択のみを一時テーブルに実行している場合、それを別の選択にラップするのは一種の無駄ですが、それは単なるIMHOです。

Select Emp_B.sum From (Select Sum(mines.NoOfWorkers) as sum from mines) AS Emp_B;
于 2011-03-27T22:58:38.303 に答える
0
Select temp.total  
From 
  ( Select Sum(mines.NoOfWorkers) AS total 
    from mines
  ) AS temp
;
于 2011-03-27T23:01:39.727 に答える