2016-06-19 10 views
1

私はいくつかのテーブルを持つデータベースを持っています。今私は3つのテーブルからデータを取得するクエリが欲しい。INNER JOINとLEFT JOINを使用したMySQLクエリ

コーラ(blikje 330ミリリットル) Aantal minmaal

:最初のデータベースは、今私は次の行が表示されますクエリを作りたい

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 

何であるかを見ることができます

私は周りを検索し、下に来たが、それは動作していません。これは、エラーを与えるが、ちょうど空の結果offcourseオフセット$と$ perPageは、以前のコードで定義されている

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

しません。

誰かが私が間違っていた場所を教えてもらえますか?正しい結果を得るために私は何を変えるべきですか?あなたのスキーマとあなたの期待どおりの結果を見ると

+0

出力クエリを必要とし、それが直接DBに動作するかどうかを確認ようです。それが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つのタイプミスがありますが、それを編集することはできません4ラインpn最後の行 ' a。befor the .IDとカンマが最後まであります。問題があり、このawnserを見つける人々のため – DutchEcho