我有兩個表,我試圖建立一個查詢與我們的籌款部門,但我正在努力。使用SQL Server 2008.使用與另一列使用最大(列)的表> 0
Appeals表中包含關於哪些成員要發送捐款呼籲的數據。
Yearly_Gift表包含每年會員捐贈多少錢的數據。有時候,這張表可能會有一個特定年份的零美元金額。
我想要做的是使用這兩張表來提供有人捐贈的最後一年,以及捐贈的捐款額,如果它大於零,我們發出的呼籲。
這裏是表格和一些數據的簡化版本。我還包括我期望的輸出。誰能幫我這個?
--Build Tables
CREATE TABLE [dbo].[Appeals](
[Appeal_ID] [int] NOT NULL,
[Member_ID] [int] NOT NULL,
CONSTRAINT [PK_Appeals] PRIMARY KEY CLUSTERED
(
[Appeal_ID] ASC,
[Member_ID] ASC
)WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Yearly_Gift](
[Member_ID] [int] NOT NULL,
[FiscalYear] [char](4) NOT NULL,
[Amount] [money] NULL,
CONSTRAINT [PK_Yearly_Gift] PRIMARY KEY CLUSTERED
(
[Member_ID] ASC,
[FiscalYear] ASC
)WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
--Fill tables
INSERT INTO Appeals VALUES (1,101)
INSERT INTO Appeals VALUES (1,102)
INSERT INTO Appeals VALUES (2,101)
INSERT INTO Appeals VALUES (2,102)
INSERT INTO Appeals VALUES (2,103)
INSERT INTO Appeals VALUES (2,104)
INSERT INTO Appeals VALUES (2,105)
INSERT INTO Yearly_Gift VALUES(101,'2015',100)
INSERT INTO Yearly_Gift VALUES(102,'2014',0)
INSERT INTO Yearly_Gift VALUES(102,'2012',150)
INSERT INTO Yearly_Gift VALUES(102,'2011',200)
INSERT INTO Yearly_Gift VALUES(103,'2013',500)
INSERT INTO Yearly_Gift VALUES(103,'2014',500)
INSERT INTO Yearly_Gift VALUES(104,'2012',200)
INSERT INTO Yearly_Gift VALUES(104,'2015',100)
所需的輸出
Appeal_ID Member_ID FiscalYear Amount
2 101 2015 100
2 102 2012 150
2 103 2014 500
2 104 2015 100
2 105 NULL NULL
感謝您的幫助,您可以提供。
爲什麼'101'有'上訴1和2'? –
一個成員可以屬於很多上訴 – msmith11