Переменные MySQL - PullRequest
       2

Переменные MySQL

0 голосов
/ 24 августа 2011

В настоящее время я нахожусь в процессе изучения MySQL и приступил к изучению переменных, однако у меня возникла проблема с доступом к тому, что сохранено в моей переменной;Я получаю свою переменную содержит с помощью следующей команды:

SELECT 
    @foods := `idFood`, `price`
from
    `foods`;

Кажется, это работает нормально, и это приводит к таблице, теперь я хочу отсортировать животных таблицы с помощью следующей команды:

Select 
    *
From
    `Animals`
order by `Animals`.`Food consumption` * @foods.price
where @foods.idFood = `Animals`.`FoodType`

Animals.FoodType содержит идентификатор пищи, которую потребляет животное.

При выполнении этого я получаю сообщение об ошибке в последней части, где яЯ использую переменную, я довольно долго играл с ней без всякой удачи.

1 Ответ

1 голос
/ 24 августа 2011

Вы должны использовать один запрос с предложением JOIN.Попробуйте этот запрос -

SELECT a.* FROM animals a
LEFT JOIN foods f
  ON a.FoodType = f.idFood
ORDER BY a.`Food consumption` * f.price;

О переменных - переменные в MySQL являются скалярными значениями, вы не можете установить массив в переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...