SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.05.2015 16:22:01

AAOst
Участник
Зарегистрирован: 11.05.2015
Сообщений: 3

Помогите с запросом

Есть два запроса к разным таблицам
1 запрос
SELECT
sum(cms_hraneniIK.kolichestvo)
FROM
cms_hraneniIK
GROUP BY
cms_hraneniIK.id_vechi,
cms_hraneniIK.id_razmer
2 запрос
SELECT
sum(cms_vidachaIK.kolichestvo)
FROM
cms_vidachaIK
GROUP BY
cms_vidachaIK.id_vechi,
cms_vidachaIK.id_razmer
Необходима из первого результата вычесть второй.

Неактивен

 

#2 11.05.2015 16:27:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите с запросом

select t1.id_vechi, t1.id_razmer, t1.kolichestvo-t2.kolichestvo from
(SELECT id_vechi, id_razmer, sum(cms_hraneniIK.kolichestvo) kolichestvo
FROM
cms_hraneniIK
GROUP BY
cms_hraneniIK.id_vechi,
cms_hraneniIK.id_razmer) t1 join
(SELECT id_vechi, id_razmer, sum(cms_vidachaIK.kolichestvo)
FROM
cms_vidachaIK
GROUP BY
cms_vidachaIK.id_vechi,
cms_vidachaIK.id_razmer) t2 using(id_vechi, id_razmer);

 

Неактивен

 

#3 12.05.2015 15:11:06

AAOst
Участник
Зарегистрирован: 11.05.2015
Сообщений: 3

Re: Помогите с запросом

Спасибо за быстрый ответ. У меня еще такой вопрос. Если в первой таблице больше записей а во второй меньше

Пример
id_vechi   id_razmer   t1.kolichestvo   t2.kolichestvo     t1.kolichestvo-t2.kolichestvo
1             12                35                      1                              34
1             13                12                      1                              11
1             14                15                      1                              14
2             12                10                   1                               9
2             13                22                      1                              21
13             19                18                Null                            Null

Надо чтобы получилось так
id_vechi   id_razmer   t1.kolichestvo   t2.kolichestvo     t1.kolichestvo-t2.kolichestvo
1             12                35                      1                              34
1             13                12                      1                              11
1             14                15                      1                              14
2             12                10                   1                               9
2             13                22                      1                              21
13             19                18                   0                              18

Возможно ли это?

Неактивен

 

#4 12.05.2015 18:18:01

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите с запросом

вместо
t1.kolichestvo-t2.kolichestvo
нужно
t1.kolichestvo-ifnull(t2.kolichestvo,0)

и left join вместо join

Неактивен

 

#5 13.05.2015 00:30:44

AAOst
Участник
Зарегистрирован: 11.05.2015
Сообщений: 3

Re: Помогите с запросом

Спасибо большое все получилось

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson