Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Выбрать из одной таблицы, в одну строку по двум условиям. / 3 сообщений из 3, страница 1 из 1
10.11.2016, 09:37
    #39344588
alc0g0l1c
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать из одной таблицы, в одну строку по двум условиям.
Доброго времени суток.
Подскажите как реализовать вывод в одну строку(разные ячейки) данных из одной таблицы но с разными условиями.
Допустим имеется таблица

idnamesummyearmonth1ivan100201532vova700201533ivan300201564vova200201565ivan200201636vova400201637ivan100201668vova80020166

А нужно получить таблицу для одного человека за разные указанные периоды
допустим для всех пользователей за 2015 - 6 и за 2016 - 6
В итоге должно получиться что-то вроде этого

name(2015-6)(2016-6)ivan300100vova200800

Пытался LEFT JOIN дважды подцеплять таблицу с разными условиями, но тогда строки дублируются
получается так

name(2015-6)(2016-6)ivan300NULLivanNULL100vova200NULLvovaNULL800

Как не пытался всегда получается дубли с null
Как добиться вывода в одну строку?
...
Рейтинг: 0 / 0
10.11.2016, 20:08
    #39345202
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать из одной таблицы, в одну строку по двум условиям.
alc0g0l1c,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with t(id, name, summ, year, month) as (values
  (1, 'ivan', 100, 2015, 3)
, (2, 'vova', 700, 2015, 3)
, (3, 'ivan', 300, 2015, 6)
, (4, 'vova', 200, 2015, 6)
, (5, 'ivan', 200, 2016, 3)
, (6, 'vova', 400, 2016, 3)
, (7, 'ivan', 100, 2016, 6)
, (8, 'vova', 800, 2016, 6)
)
select name
, sum(case when year=2015 then summ end) "(2015-6)"
, sum(case when year=2016 then summ end) "(2016-6)"
from t
where year in (2015, 2016) and month=6
group by name
order by name
...
Рейтинг: 0 / 0
15.11.2016, 07:22
    #39347214
alc0g0l1c
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать из одной таблицы, в одну строку по двум условиям.
Mark Barinstein, Спасибо большое.

Как говориться все гениально просто, а я куда-то колесо полез изобретать))))
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Выбрать из одной таблицы, в одну строку по двум условиям. / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]