Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
Nika gnome
Member

Откуда:
Сообщений: 626
Вот таблица
Имя место дата бабки за что
Ваня парк1 1.01.2014 14000 основной доход
Ваня парк1 1.01.2014 11000 подработка
Петя парк1 1.01.2014 7000 основной доход
Петя парк1 1.01.2014 1000 подработка
Алекс парк1 1.01.2014 99000 основной доход
Екатерина парк1 1.01.2014 70000 основной доход
Ника парк1 1.01.2014 70000 подработка

Запрос должен выдать таблицу, у которой вместо одного столбца "бабки" будут два столбца - "основной доход" и "подработка"
Имя место дата основной доход подработка
Ваня парк1 1.01.2014 14000 11000
Петя парк1 1.01.2014 7000 1000
Алекс парк1 1.01.2014 99000 null
Екатерина парк1 1.01.2014 70000 null
Ника парк1 1.01.2014 null 70000

помогите, пожалуйста..
9 июл 14, 16:47    [16282426]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
Nika gnome
Member

Откуда:
Сообщений: 626
в общем, решение у меня сложилось такое:
использую union, затем group by.

select *, sum([основной доход]) [основной доход], sum([подработка]) [подработка]
(
    select ..., бабки [основной доход], null подработка
    from ...
    where [за что] = 'основной доход'

    union

    select ..., null [основной доход], бабки подработка
    from ...
    where [за что] = 'подработка'
) w
group by ...
9 июл 14, 17:19    [16282637]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
SUM(CASE ... WHEN ... THEN ... ELSE 0 END) или PIVOT...
9 июл 14, 17:33    [16282695]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
Nika gnome
Member

Откуда:
Сообщений: 626
iap
SUM(CASE ... WHEN ... THEN ... ELSE 0 END) или PIVOT...

У меня была попытка как-то пристроить этот кейс, но не получилось). Я имею в виду, без вложенного запроса.
9 июл 14, 18:08    [16282874]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nika gnome
У меня была попытка как-то пристроить этот кейс, но не получилось

а вы пробуйте пока не получится
9 июл 14, 18:14    [16282893]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
Nika gnome
Member

Откуда:
Сообщений: 626
а, ну да)) точно ж.. ))
9 июл 14, 18:17    [16282919]     Ответить | Цитировать Сообщить модератору
 Re: Как в запросе добавить один столбец? (хз, как вкраце описать вопрос)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
Объедините таблицу саму с собой и отфильтруйте каждую половину.
9 июл 14, 18:18    [16282927]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить