Я получаю «ER_BAD_FIELD_ERROR», используя псевдоним mysql

#javascript #sql

#javascript #sql

Вопрос:

Я хочу создавать столбцы «на лету» в базе данных.

Но когда я использую псевдоним SQL, я возвращаю ошибку: ER_BAD_FIELD_ERROR: неизвестный столбец «product_sales» в списке полей.

Столбец product_sales не распознается.

Вот мой код:

 let query = `SELECT dept_id, dept_name, over_head_costs, product_sales) AS product_sales, product_sales - over_head_costs AS profit FROM departments`;

connection.query(query, (err, res) => {
  if (err) throw err;
  console.log(res);
  

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

Комментарии:

1. Создание столбцов «на лету»?

Ответ №1:

У вас неправильное закрытие ) после product_sales попробуйте удалить его

Вы используете product_sales - over_head_costs but juts перед этими столбцами, вы переназначаете product_sales, используя псевдоним (с тем же именем), поэтому вы не можете использовать псевдоним в предложении select .. вы должны удалить (бесполезное) псевдонимирование для product_sales КАК product_sales

 let query = `SELECT dept_id, dept_name, over_head_costs
      , product_sales
      , product_sales - over_head_costs AS profit FROM departments`;
  

Комментарии:

1. Спасибо, что заметили это. Я вынул ), и он по-прежнему возвращает «Неизвестный столбец.. в списке полей «.