我遇到了一個連接,我嘗試連接兩次相同的表。加入同一張表兩次
CREATE TABLE [dbo].[Accounts](
[Account] [nvarchar](10) NULL,
[Value] [real] NULL,
[Period] [nvarchar](8) NULL)
INSERT INTO [dbo].[Accounts] VALUES ('AC1', 100, '201407')
INSERT INTO [dbo].[Accounts] VALUES ('AC2', -100, '201407')
INSERT INTO [dbo].[Accounts] VALUES ('AC3', 200, '201407')
INSERT INTO [dbo].[Accounts] VALUES ('AC4', -200, '201407')
INSERT INTO [dbo].[Accounts] VALUES ('AC1', 100, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC1', -100, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC2', 200, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC2', -200, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC5', 100, '201407')
INSERT INTO [dbo].[Accounts] VALUES ('AC5', -100, '201407')
INSERT INTO [dbo].[Accounts] VALUES ('AC6', 200, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC6', -200, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC3', 200, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC3', -200, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC7', 300, '201408')
INSERT INTO [dbo].[Accounts] VALUES ('AC8', -300, '201408')
第一個結果,我嘗試存檔是在第一列中的所有帳戶和在單獨的列中各時期的值。我嘗試了許多不同的連接,沒有任何工作。最後我有下面的內容,但它複製了第一期的一些記錄,並沒有顯示一些帳戶。
SELECT A1.account, A1.value, A2.value FROM Accounts A1
FULL OUTER JOIN accounts A2 on A1.account = A2.account
WHERE A1.Period = '201407' and A2.period = '201408'
我嘗試歸檔應該提供這樣的結果最終查詢:
ACCOUNT P1 P2
AC1 100 0
AC2 -100 0
AC3 200 0
AC4 -200 NULL
AC5 0 NULL
AC6 0 0
AC7 NULL 300
AC8 NULL -300
我做錯了嗎?我試過所有可能的連接類型和neasted選擇:(
感謝這麼多的任何援助