MySQL 变量

标签 mysql variables

我目前正在学习 MySQL,并且开始学习变量,但是我在访问变量中保存的内容时遇到问题;我使用以下命令获取变量包含:

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

这似乎工作正常,并且生成了一个表格,现在我想通过以下命令对表格动物进行排序:

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

Animals.FoodType 保存着动物正在食用的食物的 ID。

运行此程序时,我在最后一部分使用变量时遇到错误,我已经使用它很长一段时间了,但没有任何运气。

最佳答案

您应该使用一个带有 JOIN 子句的查询。尝试这个查询 -

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

关于变量 - MySQL 中的变量是标量值,不能将数组设置为变量。

关于MySQL 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7173589/

相关文章:

php - 以复选框形式显示表格内容

c - 编写程序以在 C 中根据需要创建变量

php - 是否有必要在 PHP 中初始化/声明变量?

mysql - 我如何使用这个复杂的表格结构按日期和时间订购我的商品?

mysql - 基于 CSV 文件自动生成 MySQL 架构

php - 无法获取要显示的查询结果--php/mysqli

c - 指针作为 C 中的函数参数

php - MySQL全文索引查询不使用任何索引?

PHP - 创建函数问题

arrays - PHPStorm 提示数组变量的简单使用