2016-06-19 273 views
1

所以我有一個表的數據庫。現在我想要一個從3個表中獲取數據的查詢。首先讓我們看看哪些數據庫是MySQL查詢與INNER JOIN和LEFT JOIN

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 

現在我想進行查詢,將顯示下一行:

可口可樂(blikje330毫升) Aantal minmaal

我搜索了四周,並想出下面,但它不工作。它不會給出錯誤,而只是空的結果

$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"; 

其中offcode $ off和$ perPage是在代碼的前面定義的。

那麼誰能告訴我我哪裏出了錯?我應該改變什麼才能獲得正確的結果?

+0

輸出的查詢,看看它是否直接作用於數據庫。如果它是一個PHP或MySQL問題,最好縮小範圍。 – chris85

+0

感謝chris85的消化。然而在phpmyadmin它也給了一個空的結果 – DutchEcho

回答

0

展望你的架構和你預期的結果似乎你需要這個查詢

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 
+0

在表voorraad可以有多個結果相同的omschrijvingID,所以我需要總結這些。我看到某個地方你需要查詢內部的查詢嗎? – DutchEcho

+0

我有更新的答案..我thnk應該是足夠的總和和 – scaisEdge

+0

組感謝這確實是在找什麼:)有3個拼寫錯誤,但不能編輯它雖然第四行pn應該在最後一行缺少'一個'以.ID和一個逗號爲結尾。爲誰也有問題的人,並找到這個awnser – DutchEcho