Проблема при использовании UNION в SQL
Мой Sql-запрос
select CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120) as 'monthyear', SUM(amount) as 'Amount1',0 as 'Amount2' from MYtable where accountid=4 group by CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120) union select CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120) as 'monthyear', 0 as 'Amount1', SUM(amount) as 'Amount2' from MYtable where accountid=3 group by CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120)
но когда я выполняю запрос, я получаю данные таким образом..
MonthYear Amount1 Amount2 Jan 2015 0 100 Jan 2015 100 0 Feb 2015 200 0 Feb 2015 0 300 Mar 2015 400 0 Mar 2015 0 500
Но мне нужны данные в этом формате
MonthYear Amount1 Amount2 Jan 2015 100 100 Feb 2015 200 300 Mar 2015 400 500
Заранее спасибо...
Что я уже пробовал:
select CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120) as 'monthyear', SUM(amount) as 'Amount1',0 as 'Amount2' from MYtable where accountid=4 group by CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120) union select CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120) as 'monthyear', 0 as 'Amount1', SUM(amount) as 'Amount2' from MYtable where accountid=3 group by CONVERT(CHAR(4), dateofentry, 100) + CONVERT(CHAR(4), dateofentry, 120)
Kornfeld Eliyahu Peter
Союз работает как исключение, это просто неправильный инструмент...Некоторые присоединяются и/или CTE были бы лучше...
Ravi Sargam
как я могу использовать свой запрос с CTE? я новичок в этом деле.
Kornfeld Eliyahu Peter
Если вы новичок, начните с JOIN...
Ravi Sargam
новый на МТК не вступает...