繁体   English   中英

使用INNER JOIN和LEFT JOIN进行MySQL查询

[英]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) Aantal 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";

在offcourse中,$ 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

暂无
暂无

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

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