In the Enrollment_Changes table, the specified phone model is the phone in which the subscriber changed FROM to this date.
If subsequent changes to Enrollment_Changes do not occur, the phone that changed TO is listed in the P_Enrollment table
For example, subscriber 12345678 entered on 1/5/2011 with RAZR. 11/1/2011 he changed FROM SIZE. You can see that it changed TO with the next transaction to Enrollment_Changes on 05/19/2012.
How would you find a submarine count first credited to the iPhone 3?
Here is the code I created to create the tables
Create Tables: TBL 1
USE [Test2] GO /****** Object: Table [dbo].[P_ENROLLMENT] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[P_ENROLLMENT]( [Subid ] [float] NULL, [Enrollment_Date] [datetime] NULL, [Channel] [nvarchar](255) NULL, [Region] [nvarchar](255) NULL, [Active_Status] [float] NULL, [Drop_Date] [datetime] NULL, [Phone_Model] [nvarchar](255) NULL ) ON [PRIMARY] GO
TBL 2
USE [Test2] GO /****** Object: Table [dbo].[ENROLLMENT_CHANGES] ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[ENROLLMENT_CHANGES]( [Subid] [float] NULL, [Cdate] [datetime] NULL, [Phone_Model] [nvarchar](255) NULL ) ON [PRIMARY] GO
Insert TBL1
INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12345678, '2011-01-05 00:00:00', 'Retail', 'Southeast', 1, NULL, 'iPhone 4'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12346178, '2011-03-13 00:00:00', 'Indirect Dealers', 'West', 1, NULL, 'HTC Hero'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12346679, '2011-05-19 00:00:00', 'Indirect Dealers', 'Southeast', 0, '2012-03-15 00:00:00', 'Droid 2'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12347190, '2011-07-25 00:00:00', 'Retail', 'Northeast', 0, '2012-05-21 00:00:00', 'iPhone 4'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12347701, '2011-08-14 00:00:00', 'Indirect Dealers', 'West', 1, NULL, 'HTC Hero'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12348212, '2011-09-30 00:00:00', 'Retail', 'West', 1, NULL, 'Droid 2'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12348723, '2011-10-20 00:00:00', 'Retail', 'Southeast', 1, NULL, 'Southeast'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12349234, '2012-01-06 00:00:00', 'Indirect Dealers', 'West', 0, '2012-02-14 00:00:00', 'West'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12349745, '2012-01-26 00:00:00', 'Retail', 'Northeast', 0, '2012-04-15 00:00:00', 'HTC Hero'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12350256, '2012-02-11 00:00:00', 'Retail', 'Southeast', 1, NULL, 'iPhone 4'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12350767, '2012-03-02 00:00:00', 'Indirect Dealers', 'West', 1, NULL, 'Sidekick'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12351278, '2012-04-18 00:00:00', 'Retail', 'Midwest', 1, NULL, 'iPhone 3'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12351789, '2012-05-08 00:00:00', 'Indirect Dealers', 'West', 0, '2012-07-04 00:00:00', 'iPhone 3'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12352300, '2012-06-24 00:00:00', 'Retail', 'Midwest', 1, NULL, 'Droid 2'); INSERT INTO [P_ENROLLMENT]([Subid ], [Enrollment_Date], [Channel], [Region], [Active_Status], [Drop_Date], [Phone_Model]) VALUES(12352811, '2012-06-25 00:00:00', 'Retail', 'Southeast', 1, NULL, 'Sidekick');
Insert TBL2
INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12345678, '2011-11-01 00:00:00', 'RAZR'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12346178, '2012-01-07 00:00:00', 'HTC Hero'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12348723, '2012-01-28 00:00:00', 'RAZR'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12350256, '2012-02-21 00:00:00', 'Blackberry Bold'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12349745, '2012-05-05 00:00:00', 'HTC Hero'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12345678, '2012-05-19 00:00:00', 'Palm Pre'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12347190, '2012-05-20 00:00:00', 'HTC Hero'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12350256, '2012-05-21 00:00:00', 'Blackberry Bold'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12349234, '2012-06-04 00:00:00', 'Palm Pre'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12346178, '2012-06-05 00:00:00', 'iPhone 3'); INSERT INTO [ENROLLMENT_CHANGES]([Subid], [Cdate], [Phone_Model]) VALUES(12350767, '2012-06-10 00:00:00', 'iPhone 3');