2016-06-19 6 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 

Теперь я хочу, чтобы сделать запрос, который будет отображаться на следующую строку:

Cola (blikje 330мл) 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"; 

Где Offcourse за $ смещения и $ perPage в настоящее время определены ранее в коде.

Так может кто-нибудь сказать мне, где я поступил не так? Что я должен изменить, чтобы получить правильный результат?

+0

Выходного запрос и посмотреть, если он работает на БД напрямую. Лучше сужаться, если это проблема PHP или mysql. – chris85

+0

спасибо за sugestion 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

У меня есть ответ на вопрос. I thnk должно быть достаточно суммы и группы по – scaisEdge

+0

спасибо, что это действительно то, что искали :) есть 3 опечатки, но не могут редактировать его, хотя 4-я строка pn должна быть на последней строке отсутствует ' a 'for.ID и запятой в конце. для людей, у которых также есть проблема, и найти этот awnser – DutchEcho