簡體   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