MySQL 使用 INNER JOIN 和 LEFT JOIN 查询

MySQL query with INNER JOIN and LEFT JOIN

所以我有一个包含一些表的数据库。现在我想要一个从 3 个表中获取数据的查询。首先让我们看看数据库是什么

omschrijvingVoorraad
-ID             1
-userID         1
-omschrijvingID 6
-min            4

omschrijving
-ID             6
-omschrijving   Cola (blikje 330ml)

voorraad
-ID             20
-userID         1
-omschrijvingID 6
-aantal         2

现在我想进行一个将显示下一行的查询:

可乐 (blikje 330ml) 安塔尔 2 minmaal 4

我四处搜索并提出了以下建议,但它不起作用。它没有给出错误,只是一个空结果

$queryOm="SELECT omschrijvingVoorraad.ID, omschrijvingID, omschrijving, vAantal, min
        FROM omschrijvingVoorraad
        LEFT JOIN omschrijving ON omschrijving.ID = omschrijvingVoorraad.omschrijvingID
        INNER JOIN ( SELECT omschrijvingID vid, SUM( aantal ) vAantal  
            FROM voorraad WHERE userID='$userID' )  p ON vid = omschrijvingVoorraad.omschrijvingID
        WHERE userID='$userID'
        LIMIT $offset, $perPage";

在代码的前面定义了 $offset 和 $perPage。

所以谁能告诉我哪里出错了?我应该更改什么以获得正确的结果?

查看您的架构和预期结果,您似乎需要此查询

select a.ID, a.omschrijvingID, b.omschrijving, sum(c.aantal), a.min
from omschrijvingVoorraad as a
inner join omschrijving as b on a.omschrijvingID = b.ID
inner join voorraad as c on a.omschrijvingID = c.omschrijvingID
group by a.ID, a.omschrijvingID, b.omschrijving, a.min