Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Выборка из двух табилиц


Автор: Xasan 29.2.2008, 12:02
Доброго всем времени суток! Подскажите как сделать следующий запрос, усть две таблици?

таблица1
1 поле
2 поле
3 поле

таблица2
1 поле
2 поле
3 поле

Нужно: из таблице1 сгруппировать одинаковые значения по полю1, подсчитать сумму по полю2 и полю3 для каждого единичного найденого значения поля1, далее из таблица2 найти одинаковые значения по полю1 из поля1 таблице1, подсчитать сумму по полю2 и полю3 для каждого значения поля1, после чего прибавить полученные значения к полям2 и 3 таблице1 для каждого значения поля1. Ве это нужно сделать в одном запросе? Вот так я делаю в двух запросах и без суммы.

Код

$summary_report_query1 = "SELECT
Поле1 AS [Поле1], 
sum([Поле2]) AS [Поле2],
sum([Поле3]) AS [Поле3]
From Таблица1 GROUP BY [Поле1]";

$summary_report_query2 = "SELECT 
Поле1 AS [Поле1], 
sum([Поле2]) AS [Поле2],
sum([Поле3]) AS [Поле3]
From Таблица1 GROUP BY [Поле1]";

Автор: solenko 29.2.2008, 12:09
Код

SELECT t1.f1, SUM(t1.f2) + SUM(t2.f2),  SUM(t1.f3) + SUM(t2.f3) FROM t1 INNER JOIN t2 ON t1.f1 = t2.f1 GROUP BY t1.f1

Не проверял.

Автор: Xasan 3.3.2008, 14:14
Спасиба за отклик на просьбу, но ваш пример не подходит, вроде в запросе нет ошибок, но сервер долго думает и результата нет..

Автор: gta4kv 3.3.2008, 15:40
Xasan, дык найдите и исправьте. Не будут же за вас все делать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)