繁体   English   中英

带SELECT的MySQL COUNT子查询*

[英]MySQL COUNT Sub-query with SELECT *

我有一个库存项目表(货品描述,项目明细等),一个库存表(我们拥有的物理物料-库存项目)和一个供应商表(谁提供库存,但有时可能会有所不同)时间)。

供应商-库存-库存

库存很多。 供应商有很多库存。 库存中有一个供应商和一个库存

我正在尝试运行查询以从库存中获取所有数据,并通过子查询计算它有多少供应商。 但是,我需要使用SELECT *

我目前所拥有的:

SELECT 
     ( SELECT COUNT(DISTINCT SupplierID) 
         FROM Stock 
        WHERE Stock.InventoryID = Inventory.ID
     ) AS Suppliers
     , * 
  FROM `Inventory`;

我已经尝试过对此进行变体,交换字段顺序(在此站点的其他地方看到过),更改子查询等。

但是,它告诉我'* FROM'附近有错误。 任何人都可以建议一种方法来执行此查询吗?

使用表别名:

SELECT (SELECT COUNT(DISTINCT s.SupplierID) 
        FROM Stock s
        WHERE s.InventoryID = i.ID
       ) AS Suppliers, i.* 
FROM `Inventory` i;

文档中描述了对*资格的需求:

选择列表中的其他项目使用不合格*可能会产生解析错误。 为避免此问题,请使用合格的tbl_name.*参考。

 SELECT AVG(score), t1.* FROM t1 ... 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM