我遇到了一个连接,我尝试连接两次相同的表。加入同一张表两次
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选择:(
感谢这么多的任何援助