mysql - 如何比较不同表中的字段

标签 mysql join field conditional-statements

我想从表(产品)中选择行,但该表使用 JOIN 语句链接到另一个表(库存)。

在产品表中有 2 个重要字段,SKU 和 minimum_stock。 库存表中有SKU(与产品的关系)和数量

现在,我只想从产品中选择行,前提是表中存货存在 SKU,并且数量大于产品的最小库存。

像这样:

SELECT * 
FROM products
INNER JOIN stock ON products.SKU = stock.SKU
WHERE products.minimum_stock.value > stock.qty.value;

显然这段代码不起作用。

有人可以帮帮我吗?

提前致谢。

最佳答案

如果您的表格如下所示:

产品:

  • 库存单位
  • 最低库存
  • (...其他列...)

库存

  • 库存单位
  • 数量
  • (...其他列...)

您的查询不必在列末尾有 .value。事实上,这就是它不起作用的原因。

做类似的事情:

SELECT * 
FROM products
INNER JOIN stock ON products.SKU = stock.SKU
WHERE products.minimum_stock > stock.qty;

SQL Fiddle Demo

关于mysql - 如何比较不同表中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256334/

相关文章:

php - 使用php和mysql的多关键字搜索表单

java - 我的项目运行,但有几个错误,例如我需要删除的行

MySQL将float字段中的数据转换为decimal字段

php - 来自不同来源的两次Ajax调用导致一个静默失败

mysql - JOIN 3 tables SUM 按月分组

php - MySQL - 从多个表中选择,可能没有连接?

django - Django:来自自模型实例的字段的默认值

php - 如何复制MySQL字段?

grails - GORM/Grails - 向 joinTable 表达式添加额外的列

mysql - 如何在 Symfony2 中更新 mysql 数据库模式