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

Хотел бы сделать

select branchId, count(branchId) as mCnt, sum([paySumm]) as mSum, null as limitQ, null as limitS
from [dbo].[T1]
--where условие
group by branchId
union
select ?, ?, ?, limitQ, limitS
from [dbo].[T2] where условие


Не пойму как написать второй запрос если во второй таблице нет колонок как в первой. А необходимо просто добавить к запросу еще 2 столбца

PS: в этих таблицах общая только колонка branchId

Спасибо.
9 ноя 15, 12:16    [18388391]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
Не пойму как написать второй запрос если во второй таблице нет колонок как в первой.

А кто должен решить, какие значения должны быть на этом месте во втором запросе ?
9 ноя 15, 12:17    [18388399]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
dimichis
Member

Откуда: Москва
Сообщений: 257
select branchId, count(branchId) as mCnt, sum([paySumm]) as mSum, null as limitQ, null as limitS
from [dbo].[T1]
--where условие
group by branchId
union
select NULL branchId, '' mCnt, 0 mSum, limitQ, limitS
from [dbo].[T2] where условие
9 ноя 15, 12:22    [18388430]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31785
VIT2708_
Не пойму как написать второй запрос если во второй таблице нет колонок как в первой. А необходимо просто добавить к запросу еще 2 столбца
Сделайте так же, как сделали это в первом запросе:
select null as branchId, null as mCnt ...
9 ноя 15, 12:22    [18388431]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
в этих таблицах общая только колонка branchId

Почему тогда на месте этой общей колонки во втором запросе стоит знак "?" ?
9 ноя 15, 12:23    [18388440]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
VIT2708_
Guest
Glory,

Вообщем идея такова:

Из первой таблицы берется количество записей и сумма а из второй лимиты на количество и суммы на определенную дату

я пытался написать вот так

select branchId, count(branchId) as mCnt, sum([paySumm]) as mSum, null as limitQ, null as limitS
from dbo.T1
where branchId=1
group by branchId
union
select branchId, mCnt, mSum, qMeets as limitQ, summ as limitS
from dbo.T2
where branchId=1


T1
branchId---Date-----S
1-------1.1.2015----5
1-------1.1.2015----3
1-------1.1.2015----4


T2
branchId----Q-----S
1-----------4-----15

в T1 есть 3 записи с общей сумой 12, а лимит из T2 4 записи с сумой 15
9 ноя 15, 12:30    [18388479]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
VIT2708_
Guest
Glory
VIT2708_
в этих таблицах общая только колонка branchId

Почему тогда на месте этой общей колонки во втором запросе стоит знак "?" ?


я поставил потому что не знаю что поставить?
9 ноя 15, 12:31    [18388486]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
я пытался написать вот так

Тут наверное все должны догадаться, какой результат вы получли ?
9 ноя 15, 12:31    [18388489]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
я поставил потому что не знаю что поставить?

Вы вместо общего поля branchId поставили ? потому, что не знаете, что поставить вместо общего поля ???
9 ноя 15, 12:32    [18388497]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
VIT2708_
Guest
dimichis
select branchId, count(branchId) as mCnt, sum([paySumm]) as mSum, null as limitQ, null as limitS
from [dbo].[T1]
--where условие
group by branchId
union
select NULL branchId, '' mCnt, 0 mSum, limitQ, limitS
from [dbo].[T2] where условие


Тогда получится 2 записи
9 ноя 15, 12:33    [18388513]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
Тогда получится 2 записи

А разве не в этом смысл "объединить запросы" ?
9 ноя 15, 12:34    [18388519]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
VIT2708_
Guest
Glory
VIT2708_
я пытался написать вот так

Тут наверное все должны догадаться, какой результат вы получли ?


На скрине мне нужно там где null добавить значение

Вы так быстро отвечаете что я не успеваю

К сообщению приложен файл. Размер - 6Kb
9 ноя 15, 12:36    [18388537]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
На скрине мне нужно там где null добавить значение

Это значение каждый может сам придумать ?
Мне вот 100500 нравится
9 ноя 15, 12:37    [18388542]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
VIT2708_
Guest
Glory
VIT2708_
На скрине мне нужно там где null добавить значение

Это значение каждый может сам придумать ?
Мне вот 100500 нравится


все разобрался, left join мне поможет. Что то сразу не разобрался что union не верный путь
9 ноя 15, 12:43    [18388588]     Ответить | Цитировать Сообщить модератору
 Re: union Обьединить запрос с разных таблиц?  [new]
Glory
Member

Откуда:
Сообщений: 104751
VIT2708_
все разобрался, left join мне поможет. Что то сразу не разобрался что union не верный путь

Потому что надо рассказывать о задаче,а не своем способе ее решения
9 ноя 15, 13:23    [18388846]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить