yarhosting
@yarhosting
Заказывайте программинг: PHP,SQL, JS,jQuery,Joomla

Как реализовать выборку суммарных данных из нескольких таблиц MYSQL?

Нужен отчет по остаткам в разрезе номенклатуры: Продано - Куплено в суммарном и количественном выражении за период.

Прохожусь селектом по таблице nomenclature, присоединяю к ней LEFT JOIN o_ithem, где хранятся сумма и количество по реализации и INNER JOIN o - где хранится дата реализации: Получаю нужные данные по Реализации - все правильно.

Аналогично с Покупкой - тоже все верно получаю.
Но как только делаю вместе и покупку и продажу в этом запросе: LEFT JOIN p_ithem + INNER JOIN p + LEFT JOIN o_ithem + INNER JOIN o - получаю неправильные данные.

В следующем коде ремарками представлен корректно работающий код, если снять ремарки - ошибок не выдает, но данные - не верные. Если заменить ремарки с покупки на реализацию - тоже получается рабочий код.

$q = 'SELECT n.id as id, n.name as name';
		
// $q.=' , sum(pi.sum) as p_sum, sum(pi.count) as p_count '; 
		
$q.=', sum(oi.sum) as o_sum,  sum(oi.count) as o_count ';
		
$q.=' FROM nomenclature  as n';
		
// $q .= ' LEFT JOIN p_ithem as pi ON pi.nomenclature_id=n.id';
// $q .= ' INNER JOIN p ON pi.p_id=p.id';
		
$q .= ' LEFT JOIN o_ithem as oi ON oi.nomenclature_id=n.id';
$q .= ' INNER JOIN o ON oi.o_id=o.id';	
		
$q .= $where.' GROUP BY n.id '.$order;


Как дальше жить?
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
BojackHorseman
@BojackHorseman
...в творческом отпуске...
у вас ссылочная целостность между p_ithem и p не нарушена часом? если в p_ithem записи, у которых в поле p_id стоит значение, отсутствующее в p

p.s. называйте нормально таблицы и поля, чтобы вам самому было понятно, что на что вы джойните

p.p.s. что лежит в $where ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы