【问题标题】:SELECT suppliers with products in stock but not in the catalogue选择产品有库存但不在目录中的供应商
【发布时间】:2020-07-31 15:10:54
【问题描述】:

要在导入一些数据后检查 Mysql 数据库,我需要执行以下操作:

数据库说明: 2tables 产品和供应商

  1. 具有名称、供应商 ID、 ManufactYear,StockQty,CatalogueRef(目录中的订单),HiddenProductFlag(true mean 产品在目录中是隐藏的而不是公开的)
  2. 具有名称和 HiddenSupplierFlag 的供应商(真正的意思是供应商是隐藏的,而不是 在目录中公开)

我想查找 HiddenSupplierFlag 为 false 的供应商列表,我们从中没有任何隐藏产品暴露在目录中 (CatalogueRef >0),但仍有一些库存,其 HiddenProductFlag 为 false 以及 ManufactYear 是什么。

我想我应该使用一些子查询,但我对它们完全是个菜鸟...... 任何建议都会有所帮助

【问题讨论】:

标签: mysql subquery


【解决方案1】:

您需要在供应商中有一列作为其 ID(主键),以便您可以从 Products 表的 SupplierID 列中引用该表。然后您可以执行以下操作:

选择供应商名称 来自供应商 WHERE 供应商.hiddensupplierflag = false AND 供应商 ID IN(选择供应商 ID 来自产品 WHERE products.HiddenProductFlag = false AND products.CatalogueRef > 0 AND products.StockQty > 0 )

内部查询获取有效产品的供应商 ID(在目录中引用,库存数量 > 0 等...),然后您通过将 ID 与从返回的 ID 匹配来从供应商表中获取它们的名称内部查询。

【讨论】:

  • 治疗看起来比疾病更糟糕
猜你喜欢
  • 2021-07-30
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 2012-09-19
相关资源
最近更新 更多