I have a table with the following columns:
contactId (int) interval (int) date (smalldate)
small sample data:
1,120,'12/02/2010' 1,121,'12/02/2010' 1,122,'12/02/2010' 1,123,'12/02/2010' 1,145,'12/02/2010' 1,146,'12/02/2010' 1,147,'12/02/2010' 2,122,'12/02/2010' 2,123,'12/02/2010' 2,124,'12/02/2010' 2,320,'12/02/2010' 2,321,'12/02/2010' 2,322,'12/02/2010' 2,450,'12/02/2010' 2,451,'12/02/2010'
how is it possible to get sql to return the columns "contactId, minInterval, maxInterval, date", for example
1,120,123,'12/02/2010' 1,145,147,'12/02/2010' 2,122,124,'12/02/2010' 2,320,322,'12/02/2010' 2,450,451,'12/02/2010'
hope this makes sense, basically I'm looking to find out the range of min / max intervals from the provider and the date for the range where they increase by one ... as soon as there is a gap in the increments of the intervals (for example, more than one), this indicates to the new min / max range ...
any help is appreciated :)
here is my fine tuning of the SQL table:
create table availability ( Id (int) ProviderId (int) IntervalId (int) Date (date) )
sample data
providerid,intervalid,date 1128,108,2010-12-27 1128,109,2010-12-27 1128,110,2010-12-27 1128,111,2010-12-27 1128,112,2010-12-27 1128,113,2010-12-27 1128,114,2010-12-27 1128,120,2010-12-27 1128,121,2010-12-27 1128,122,2010-12-27 1128,123,2010-12-27 1128,124,2010-12-27 1128,125,2010-12-27 1213,108,2010-12-27 1213,109,2010-12-27 1213,110,2010-12-27 1213,111,2010-12-27 1213,112,2010-12-27 1213,113,2010-12-27 1213,114,2010-12-27 1213,115,2010-12-27 1213,232,2010-12-27 1213,233,2010-12-27 1213,234,2010-12-27 3954,198,2010-12-27 3954,199,2010-12-27 3954,200,2010-12-27 3954,201,2010-12-27 3954,202,2010-12-27 3954,203,2010-12-27 3954,204,2010-12-27 3954,205,2010-12-27 3954,206,2010-12-27 3954,207,2010-12-27 3954,208,2010-12-27 3954,209,2010-12-27 3954,210,2010-12-27 3954,211,2010-12-27 3954,212,2010-12-27 3954,213,2010-12-27 3954,214,2010-12-27 3954,215,2010-12-27 3954,216,2010-12-27 3954,217,2010-12-27 3954,218,2010-12-27 3954,229,2010-12-27 3954,230,2010-12-27 3954,231,2010-12-27 3954,232,2010-12-27 3954,233,2010-12-27 3954,234,2010-12-27 1128,108,2010-12-28 1128,109,2010-12-28 1128,110,2010-12-28 1128,111,2010-12-28 1128,112,2010-12-28 1128,113,2010-12-28 1128,114,2010-12-28 1128,115,2010-12-28 1128,116,2010-12-28 3954,186,2010-12-28 3954,187,2010-12-28 3954,188,2010-12-28 3954,189,2010-12-28 3954,190,2010-12-28 3954,213,2010-12-28 3954,214,2010-12-28 3954,215,2010-12-28 3954,216,2010-12-28 3954,217,2010-12-28 3954,218,2010-12-28 3954,219,2010-12-28 3954,220,2010-12-28 3954,221,2010-12-28 3954,222,2010-12-28
sample result using current sql in answers:
1062,180,180,2010-12-20 1062,179,179,2010-12-20 1062,178,178,2010-12-20 1062,177,177,2010-12-20 1062,176,176,2010-12-20 1062,175,175,2010-12-20 1062,174,174,2010-12-20 1062,173,173,2010-12-20 1062,172,172,2010-12-20 1062,171,171,2010-12-20 1062,170,170,2010-12-20 1062,169,169,2010-12-20 1062,168,168,2010-12-20 1062,167,167,2010-12-20 1062,166,166,2010-12-20 1062,165,165,2010-12-20 1062,164,164,2010-12-20 1062,163,163,2010-12-20 1062,162,162,2010-12-20 1062,161,161,2010-12-20 1062,160,160,2010-12-20 1062,159,159,2010-12-20 1062,158,158,2010-12-20 1062,157,157,2010-12-20 1062,156,156,2010-12-20 1062,155,155,2010-12-20 1062,154,154,2010-12-20 1062,153,153,2010-12-20 1062,152,152,2010-12-20 1062,151,151,2010-12-20 1062,150,150,2010-12-20 1062,149,149,2010-12-20 1062,148,148,2010-12-20 1062,147,147,2010-12-20 1062,146,146,2010-12-20 1062,145,145,2010-12-20 1062,144,144,2010-12-20 1062,143,143,2010-12-20 1062,142,142,2010-12-20 1062,141,141,2010-12-20 1062,140,140,2010-12-20 1062,139,139,2010-12-20 1062,138,138,2010-12-20 1062,137,137,2010-12-20 1062,136,136,2010-12-20 1062,135,135,2010-12-20 1062,134,134,2010-12-20 1062,133,133,2010-12-20 1062,132,132,2010-12-20 1062,131,131,2010-12-20 1062,130,130,2010-12-20 1062,129,129,2010-12-20 1062,128,128,2010-12-20 1062,127,127,2010-12-20 1062,126,126,2010-12-20 1062,125,125,2010-12-20 1062,124,124,2010-12-20 1062,123,123,2010-12-20 1062,122,122,2010-12-20 1062,121,121,2010-12-20 1062,120,120,2010-12-20 1062,119,119,2010-12-20 1062,118,118,2010-12-20 1062,117,117,2010-12-20 1062,116,116,2010-12-20 1062,115,115,2010-12-20 1062,114,114,2010-12-20 1062,113,113,2010-12-20 1062,112,112,2010-12-20