Ошибка оператора SQL - PullRequest
       22

Ошибка оператора SQL

1 голос
/ 28 марта 2011
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. Любая помощь будет оценена Моисеем

Ответы [ 3 ]

1 голос
/ 28 марта 2011

Это должно работать для вас;тем не менее, если вы делаете только один суб-выбор во временную таблицу, это пустая трата времени, чтобы обернуть его в другой, но это просто ИМХО.

Select Emp_B.sum From (Select Sum(mines.NoOfWorkers) as sum from mines) AS Emp_B;
1 голос
/ 28 марта 2011
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 выше.ИЛИ AS x, но слово AS является необязательным.

Или почему его дважды называют псевдонимом ...

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

Но поскольку SUM дает ровно одно значение, если вы не упростилизапрос от некоторого большего, это дает точно такой же результат ??

Select Sum(mines.NoOfWorkers) AS Total from mines;
0 голосов
/ 28 марта 2011
Select temp.total  
From 
  ( Select Sum(mines.NoOfWorkers) AS total 
    from mines
  ) AS temp
;
...