Recent PostsRecent Posts Popular TopicsPopular Topics
 Home Search Members Calendar Who's On

 Solve Problems Using Recursive CTE Rate Topic Display Mode Topic Options
Author
 Message
 Posted Thursday, December 6, 2012 11:35 AM
 Ten Centuries Group: General Forum Members Last Login: Monday, November 28, 2016 11:55 AM Points: 1,227, Visits: 3,308
 bj_shenglongI have one question for this test.It seems the test data starts at 1999-12-01, but queries use '2012-01-01' to start. I am not sure what the end date is.I was wondering if it makes any difference after we make some change on start date in these 2 queries, so that start date = the earlies test date, then sorting may go through all period for query 1. Of course, recursion will have more joins for query 2.I put the date into the query to make the Island query similar to the last query you posted. That query will only report the first consecutive month for each name, however the Island query will report all consecutive months in the period for a name. For exampleA 2000-01-01 2 A 2000-02-01 3A 2000-03-01 4 <-- Returned by RecursiveA 2000-04-01 3 <-- Returned By IslandA 2000-05-01 1A 2000-06-01 2A 2000-07-01 1A 2000-08-01 3A 2000-09-01 3A 2000-10-01 3A 2000-11-01 4 <-- Returned By Island A 2000-12-01 2What I found interesting was even though I was only adding data prior to those dates the recursive query kept getting more expensive.
Post #1393675
 Posted Thursday, December 6, 2012 12:28 PM
 Forum Newbie Group: General Forum Members Last Login: Monday, April 11, 2016 11:59 PM Points: 6, Visits: 63
 I put the date into the query to make the Island query similar to the last query you posted. That query will only report the first consecutive month for each name, however the Island query will report all consecutive months in the period for a name. For exampleThat is what I said in previous post. This perticular task is to find when someone are qualified at his first time. So, recursion will search at beginning and stop searching after reaching the goal.
Post #1393700
 Posted Thursday, December 6, 2012 1:04 PM
 SSC-Forever Group: General Forum Members Last Login: Yesterday @ 11:30 PM Points: 42,081, Visits: 39,471
 bj_shenglong (12/6/2012)I put the date into the query to make the Island query similar to the last query you posted. That query will only report the first consecutive month for each name, however the Island query will report all consecutive months in the period for a name. For exampleThat is what I said in previous post. This perticular task is to find when someone are qualified at his first time. So, recursion will search at beginning and stop searching after reaching the goal.I've haven't looked at the queries in any great detail but I'm thinking that add TOP 1 would easily solve such a problem. --Jeff Moden"RBAR is pronounced "ree-bar" and is a "Modenism" for "Row-By-Agonizing-Row".First step towards the paradigm shift of writing Set Based code: Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column." Helpful Links:How to post code problemsHow to post performance problems
Post #1393720

 Permissions