Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обьдененение двух запросов 
:(
    Опции темы
MrDmitry
Дата 28.7.2011, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Извините долго думал где создать тему. В итоге выбрал этот раздел. 
Есть два запроса

Код

SELECT 
                    SUM(o.amount) AS `total_amount`, 
                    SUM(oa1.amount) AS `cash`,
                    SUM(oa2.amount) AS `bonus_on`, 
                    SUM(oa4.amount) AS `bonus_off`, 
                    SUM(oa3.amount) AS `discount`, 
                    COUNT(DISTINCT o.id) AS `operation_count`, 
                    DATE_FORMAT(o.date,'%d.%m.%Y') AS `dat`,
                    DATE_FORMAT(o.date, '%y.%m.%d') AS `date_format`, 
                    DATE_FORMAT(o.date, '%d.%m.%Y') AS `date_format_rev` 
                        FROM `operation` AS `o` IN
                 LEFT JOIN `operation_action` AS `oa1` ON oa1.operation_id=o.id AND oa1.type=4
                 LEFT JOIN `operation_action` AS `oa2` ON oa2.operation_id=o.id AND oa2.type=1
                 LEFT JOIN `operation_action` AS `oa4` ON oa4.operation_id=o.id AND oa4.type=2
                 LEFT JOIN `operation_action` AS `oa3` ON oa3.operation_id=o.id AND oa3.type=3 
                
                WHERE (o.brand_id=11) AND (DATE(o.date) >= '2011.07.01' AND DATE(o.date) <='2011.07.28' )
                GROUP BY `date_format` 
                ORDER BY `date_format` ASC;


SELECT 
                    COUNT(c.id) AS `cards_count`,
                    DATE_FORMAT(c.date, '%y.%m.%d') AS `date_format`
                FROM 
                    `card` AS `c`
                WHERE 
                    c.group_id=11
                AND 
                    DATE(c.date) >='2011.07.01' 
                AND 
                    DATE(c.date) <='2011.07.28';


Нужно объеденить оба этих запроса в 1 sql запрос.  Или занести результат обоих запросов в один массив php.

Извиняюсь если для моего вопроса был более подходящий раздел

Это сообщение отредактировал(а) MrDmitry - 28.7.2011, 20:48
PM MAIL   Вверх
Akina
Дата 28.7.2011, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(MrDmitry @  28.7.2011,  21:47 Найти цитируемый пост)
Нужно объеденить оба этих запроса в 1 sql запрос. 

Поскольку в запросах различается как количество полей, так и количество записей, объединение их не имеет смысла. Читай - невозможно.

Цитата(MrDmitry @  28.7.2011,  21:47 Найти цитируемый пост)
Или занести результат обоих запросов в один массив php.

Тебе в ПХП...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MrDmitry
Дата 28.7.2011, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Ну а можно как то переделать? Например чтоб кол-во записей совпадало. Если за какую то дату в 1 запросе есть записи а во втором нет то во втором запросе NULL
PM MAIL   Вверх
Akina
Дата 28.7.2011, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



MySQL не поддерживает FULL JOIN.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MrDmitry
Дата 29.7.2011, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Плохо. Но все равно спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.