Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
eXeLe Member Откуда: Сообщений: 65 |
Есть два селекта, обращающиеся к разным базам, в базах таблицы имеют разную структуру, сами селекты сложные и нагруженные... вообщем поменять селекты проблематично. Но на выходе они имеют одинаковую структуру по столбцам, значения первого столбца у них пересекаются (к примеру - имена пользователей), в других столбцах - различные цифры. Как сложить между собой эти два селекта, просуммировав значения из столбцов? UNION не подходит. Для примера, первый запрос выдает:
Второй:
На выходе надо получить:
|
||||||
26 ноя 12, 14:33 [13529685] Ответить | Цитировать Сообщить модератору |
Jovanny Member Откуда: Сообщений: 1196 |
eXeLe,SELECT [user], SUM(nmbr) FROM (SELECT [user], nmbr FROM Table1 UNION ALL SELECT [user], nmbr FROM Table2) AS [Total] GROUP BY [user] |
26 ноя 12, 14:37 [13529723] Ответить | Цитировать Сообщить модератору |
eXeLe Member Откуда: Сообщений: 65 |
Jovanny, то есть просто юнион алл двух запросов и уже запрос к итогу? пойду попробую =) |
26 ноя 12, 14:39 [13529742] Ответить | Цитировать Сообщить модератору |
Dima T Member Откуда: Сообщений: 15682 |
select isnull(t1.user, t2.user) as user, sum(isnull(t1.nmbr, t2.nmbr)) from t1 full join t2 on t1.user = t2.user group by isnull(t1.user, t2.user) |
26 ноя 12, 14:40 [13529754] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
...
Дык оно же не подходит? :) |
||||
26 ноя 12, 14:50 [13529889] Ответить | Цитировать Сообщить модератору |
Jovanny Member Откуда: Сообщений: 1196 |
Гость333, UNION не подходит, UNION ALL подходит :) . |
26 ноя 12, 14:55 [13529936] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |