2017-02-11 23 views
0

Я хочу присоединиться к двум временным таблицам с полным внешним соединением, но не работает должным образом и всегда просто показывают #RMS значения без #RMB !!Присоединиться к двум темповым таблицам с полным внешним подключением

где и что не так в этом коде?

(#RMS без нуль)

create table #RMS 
(
    [Year] int, 
    [Month] int, 
    sTAccount bigint, 
    sRemaining bigint 
) 
insert into #RMS(Year,Month,sTAccount,sRemaining) 
select 
    YEAR(Date) [Year], 
    DATEPART(MONTH,Date) [Month], 
    sum(TAccount) sTAccount, 
    sum(Remaining) sRemaining 
from 
    SaleInvoices 
group by YEAR(Date),DATEPART(MONTH,Date) 
order by YEAR(Date),DATEPART(MONTH,Date) 

(#RMB без нулевой, но иногда #RMB месяц столбца значение столбца Значение и #RMS Месяц отличается)

create table #RMB 
(
    [Year] int, 
    [Month] int, 
    bTAccount bigint, 
    bRemaining bigint 
) 
insert into #RMB(Year,Month,bTAccount,bRemaining) 
select 
    YEAR(Date) [Year], 
    DATEPART(MONTH,Date) [Month], 
    sum(TAccount) bTAccount, 
    sum(Remaining) bRemaining 
from 
    BuyInvoices 
group by YEAR(Date),DATEPART(MONTH,Date) 
order by YEAR(Date),DATEPART(MONTH,Date) 

select * from #RMS 
Full Outer Join #RMB 
on #RMS.Year=#RMB.Year and #RMS.Month=#RMB.Month 
group by #RMS.Year, #RMS.Month 
order by #RMS.Year, #RMS.Month 

Спасибо за ваши ответы

ответ

0

У вас неправильные SELECT. Замените * на #RMS.*, #RMB.* или (лучше) явный список полей, которые вы хотите, префикс их имен с именем таблицы, из которой они происходят. Это также позволяет не повторять поля, к которым вы присоединились.