簡體   English   中英

從一個表中選擇某些列,從MySQL中的另一個表中選擇一個計數

[英]Select certain columns from one table and a count from another table in MySQL

我已經檢查了類似問題的一些答案,但仍然不能完全正確。

我有兩個表, Stock-DetailsGoods-In 兩個表都有一個ID主鍵。 與它們匹配的列值是PrimarySKU (在Stock-DetailsSKU (在Goods-In )。

所以,我的第一個查詢可能是:

"SELECT `id`,`Nominal`,`OnOrder`,`PrimarySKU` FROM `Stock-Details`
    WHERE 'Nominal` < '10'"

我的第二個問題是:

"SELECT COUNT FROM `Goods-In`
    WHERE `UsedByOrderNumber`=''
    AND `SKU`= `PrimarySKU` (From My First Table.)"

如何將這些組合成一個快速查詢,它將為我提供Stock-Details所有列以及Goods-InUsedByOrderNumber為空或使用的行數或其他?

您可以通過獲取SKU的計數來實現此目的,其中UsedByOrderNumber在子查詢中為空,然后將其連接到您的Stock-Details表:

SELECT
    t1.id,
    t1.nominal,
    t1.onorder,
    t1.primarySku
    t2.recordcount

FROM
    stock-details t1
    LEFT OUTER JOIN 
        (
            SELECT 
                SKU, 
                count(*) as recordcount 
            FROM Goods-In 
            WHERE UsedByOrderNumber IS NULL 
            GROUP BY SKU
        ) t2 ON
    t1.primarySku = t2.SKU
WHERE   
    t1.Nominal < 10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM