Re: outer-join results to cartesian product .... help!!! Thanks all for the info.
Here are the details
CREATE TABLE [FCast] (
[BusinessUnitId] [int] NOT NULL ,
[UserId] [int] NOT NULL ,
[SeasonId] [int] NOT NULL ,
[FMonth] [tinyint] NULL ,
[DivisionId] [int] NOT NULL ,
[ProductId] [int] NOT NULL
)
GO
INSERT INTO [FCast] VALUES ( 92, 8, 40, 2, 4, 10057 )
GO
INSERT INTO [FCast] VALUES ( 92, 8, 40, 3, 4, 10057 )
GO
INSERT INTO [FCast] VALUES ( 92, 8, 40, 4, 4, 10057 )
GO
INSERT INTO [FCast] VALUES ( 125, 18, 40, 2, 4, 10057 )
GO
CREATE TABLE [SMonths] (
[SeasonId] [int] NOT NULL ,
[SMonth] [tinyint] NOT NULL
)
GO
INSERT INTO [SMONTHS] VALUES (40, 2)
GO
INSERT INTO [SMONTHS] VALUES (40, 3)
GO
INSERT INTO [SMONTHS] VALUES (40, 4)
GO
INSERT INTO [SMONTHS] VALUES (40, 5)
GO
one of my colleage happened to delete all those values having 'null'
which caused the problem.
for every month in smonths there would be a row in fcast for a
productid. earlier, the application,
would insert a row into fcast table with month value as 'null'. This
was actually a application bug.
to resolve this, my colleage did took up a hasty decision and wrote a
SQL which really blew up
all the rows in production environment....
the funniest part is, it is almost 3 months after this SQL is executed.
so, database restore is not possible....
hence, thought of writing a SQL which populates the missing rows in
fcast table.
so, now the requirement is to insert the missing rows in fcast table.
the query which i framed works fine for businessunitid = 125 and fails
for businessunitid = 92
the output should be:
userid businessunitid productid divisionid seasonid smonth
------ -------------- --------- ---------- -------- -----
18 125 10057 4 40 3
18 125 10057 4 40 4
18 125 10057 4 40 5
8 92 10057 4 40 5
this output would then be inserted into fcast table...
any ideas or thoughts would really help...
thanks in advance,
Anu |