MySQL select query, выбирающий, где из столбца генерируется на лету - PullRequest
1 голос
/ 18 ноября 2010

У меня (мой) вопрос по SQL.Если у меня есть таблица, скажем, с именем Cars с различными столбцами, два из которых - INT, который я хочу добавить вместе, один называется backwheels, а другой - frontwheels.

Я могу сделать этот запрос, чтобы сложить их вместекогда я выбираю

select (backwheels+frontwheels) as totalwheels from Cars;

, который работает нормально, но когда я пытаюсь сделать выбор в этом столбце totalwheels, я получаю ошибку

select (backwheels+frontwheels) as totalwheels from Cars where totalwheels=4;

ошибка, которую я получаю обратно:

Неизвестный столбец 'totalwheels' в 'предложении where'

Можно ли каким-либо образом выбрать из столбца, который ненеужели так не существует?

Ответы [ 3 ]

3 голосов
/ 18 ноября 2010

Вы можете использовать:

select (backwheels+frontwheels) as totalwheels from Cars
where (backwheels+frontwheels)=4;

ИЛИ:

SELECT * from 
(select c.*, (backwheels+frontwheels) as totalwheels from Cars)
where totalwheels=4;
0 голосов
/ 18 ноября 2010

Лучше попробуй с псевдонимом:

select (c.backwheels+c.frontwheels) as totalwheels from Cars as c where totalwheels=4;
0 голосов
/ 18 ноября 2010

Эта ошибка вызвана тем, что в вашей таблице нет столбца «totalwheels», а предложение where пытается выполнить условие для столбца, который не существует.

Вы можете попробовать использовать -

select (backwheels+frontwheels) as totalwheels from Cars where (backwheels+frontwheels)=4;
...