March 20, 2014 at 8:41 am
In our concern, we have a table with lots of redundant rows, to avoid the redundant, we create some structure and denormalize the table now we need to migrate the old data into the new structure.
Here is my following table structure
DECLARE @TestTable AS TABLE(id INT, DAta1 VARCHAR(500), Data2 VARCHAR(500), Data3 VARCHAR(3))
INSERT INTO @TestTable
VALUES
(1, 'Name', 8, 1),
(1, 'possible Shifts', 30, 7),
(1, 'First shift', 22, 8),
(1, 'Second Shift', 24, 9),
(1, 'Third Shift', 22, 10),
(2, 'Name', 8, 11),
(2, 'Testing', 14, 16),
(2, 'possible Shifts', 30, 17),
(2, 'First shift', 22, 18),
(2, 'Second Shift', 24, 19),
(3, 'Name', 8, 20),
(3, 'possible Shifts', 30, 26),
(3, 'First shift', 22, 27),
(3, 'Second Shift', 24, 28),
(4, 'Name', 8, 29),
(4, 'possible Shifts', 30, 35),
(4, '1st shift', 18, 36),
(4, '2nd Shift', 18, 37),
(5, 'Name', 8, 20),
(5, 'possible Shifts', 30, 26),
(5, 'First shift', 22, 27),
(5, 'Second Shift', 24, 28)
SELECT *
FROM @TestTable
This is just a sample data we have a lot amount of data like this,
any changes in Data1 or Data2 might came under a new version, any new insert or delete in a ID column based Set might consider as a new version
so i need to migrate this into the following structure of output
DECLARE @tbl AS TABLE (ID INT, DAta1 VARCHAR(200), DAta2 VARCHAR(200), Dversion INT)
i need to import the data as set with out redundant please do not consider the column data3, and the output might be like this
SELECT * FROM
(
VALUES
(1,'Name','8',1),
(1,'possible Shifts','30',1),
(1,'First shift','22',1),
(1,'Second Shift','24',1),
(1,'Third Shift','22',1),
(1,'Name','8',2),
(1,'possible Shifts','30',2),
(1,'First shift','22',2),
(1,'Second Shift','24',2),
(1,'Name','8',3),
(1,'possible Shifts','30',3),
(1,'1st shift','18',3),
(1,'2nd Shift','18',3)
) AS vtable (id,[DAta1],[Data2],[DVersion])
This is for single time import only, please give some idea hope iam clear if not i will ready to clarify it
Every rule in a world of bits and bytes, can be bend or eventually be broken
MyBlog About Common dialog control
A Visualizer for viewing SqlCommand object script [/url]
March 20, 2014 at 10:43 am
select distinct col1, col2 from your table?
March 20, 2014 at 10:57 am
Thanks for the reply, but that doesn't work for me any other point
Every rule in a world of bits and bytes, can be bend or eventually be broken
MyBlog About Common dialog control
A Visualizer for viewing SqlCommand object script [/url]
March 20, 2014 at 11:06 am
Sorry I couldn't help. It might help to see a better example of what you want as the output...I can't tell from your post. Could just be me, I guess.
March 20, 2014 at 11:17 am
Please give an example of what "redundant" means to you based on the data you provided. Apologies, but "doesn't work" doesn't mean very much. In what context? This is where a sample output to match against would make a big difference!
March 20, 2014 at 11:27 am
thava (3/20/2014)
i need to import the data as set with out redundant
by import, do you mean insert?
typically i would join the new data against the destination table,and check for non matches:
INSERT INTO DestinationTable(Column1,Column2,ColumnList)
SELECT Column1,Column2,ColumnList
FROM StagingTable
LEFT OUTER JOIN DestinationTable
ON StagingTable.Column1 = DestinationTable.Column1
AND StagingTable.Column2 = DestinationTable.Column2
WHERE DestinationTable.Column1 IS NULL --No existing data matched, insert it.
Lowell
March 20, 2014 at 8:21 pm
i want the result as follows
SELECT * FROM
(
VALUES
(1,'Name','8',1),
(1,'possible Shifts','30',1),
(1,'First shift','22',1),
(1,'Second Shift','24',1),
(1,'Third Shift','22',1),
(1,'Name','8',2),
(1,'possible Shifts','30',2),
(1,'First shift','22',2),
(1,'Second Shift','24',2),
(1,'Name','8',3),
(1,'possible Shifts','30',3),
(1,'1st shift','18',3),
(1,'2nd Shift','18',3)
) AS vtable (id,[DAta1],[Data2],[DVersion])
Every rule in a world of bits and bytes, can be bend or eventually be broken
MyBlog About Common dialog control
A Visualizer for viewing SqlCommand object script [/url]
March 21, 2014 at 12:30 am
Ok, I will explain it clearly please do not consider the Data3 column
id DAta1 Data2 Data3
1 Name 8 1
1 possible Shifts 30 7
1 First shift 22 8
1 Second Shift 24 9
1 Third Shift 22 10
This is my First ID Based set, it might be the first version without the Data 3
id DAta1 Data2 Data3
2 Name 8 11
2 possible Shifts 30 17
2 First shift 22 18
2 Second Shift 24 19
From the above set the third Shift is missing in the second set so it might be considered as the second version
id DAta1 Data2 Data3
3 Name 8 20
3 possible Shifts 30 26
3 First shift 22 27
3 Second Shift 24 28
Since the second and third set is equal we just move to the next set
id DAta1 Data2 Data3
4 Name 8 29
4 possible Shifts 30 35
4 1st shift 18 36
4 2nd Shift 18 37
Since the first shift and second shift is changed from the second version this will be conidered as third version
id DAta1 Data2 Data3
5 Name 8 20
5 possible Shifts 30 26
5 First shift 22 27
5 Second Shift 24 28
Since the fifth set is matched with the second version we just leave it
Similarly, if there is any new record added it might be considered as a new version
On the whole the result might be the posted in the previous post
Every rule in a world of bits and bytes, can be bend or eventually be broken
MyBlog About Common dialog control
A Visualizer for viewing SqlCommand object script [/url]
March 21, 2014 at 10:51 am
you said "Ignore the Data3 column"
if i do that, each set you posted are identical, with the exception of the id column, which seems to be incrementing?.
it seems the only common data DAta1 Data2 columns might or might not exist, right?
drilling down to specifics, in your example, if i received those rows, how do i know it's relationship between the original data? it's still not clear if you want to insert or update.
Lowell
March 23, 2014 at 7:25 pm
Hi lowel,
thanks for you, I added a identity column, in the results is it possible to produce that kind of result
Every rule in a world of bits and bytes, can be bend or eventually be broken
MyBlog About Common dialog control
A Visualizer for viewing SqlCommand object script [/url]
March 24, 2014 at 10:47 pm
!?
Every rule in a world of bits and bytes, can be bend or eventually be broken
MyBlog About Common dialog control
A Visualizer for viewing SqlCommand object script [/url]
Viewing 11 posts - 1 through 10 (of 10 total)
You must be logged in to reply to this topic. Login to reply