Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 Returning before and after values in two tables

Author  Topic 

stamford
Starting Member

47 Posts

Posted - 2014-03-21 : 05:44:24
For the following table I need two scripts to extract two subsequent tables.
The resulting scripts have to be fairly old school and be backwards compatible with SQL2000.
Any advice is much appreciated.

Firstly for each value of CARE_ID I need to return all rows where the EVENT_TYPE is in (CH, TE, BR) and the EVENT_DATE is the last date before the EVENT_DATE of the row where the EVENT_TYPE is SU. There will only ever be one instance of SU for each CARE_ID.

For example - for CARE_ID 6460 this is the row that will be returned


CARE_ID EVENT_ID EVENT_DATE EVENT_TYPE
6460 1699 05/01/2014 00:00 CH


Secondly what I need is very similar to the above but I need the first instance where the EVENT_TYPE is in (CH, TE, BR) and the EVENT_DATE is the first date after the EVENT_DATE for EVENT_TYPE = SU.

For example - for CARE_ID 6460 this is the row that will be returned


CARE_ID EVENT_ID EVENT_DATE EVENT_TYPE
6460 1698 12/03/2014 00:00 CH


In both cases if there are multiple rows which cannot be separated by EVENT_DATE because they have the EVENT_DATE on the same date, then the tie breaker is the EVENT_ID. For instances before SU the EVENT_ID value should be the highest, and for instances after SU the EVENT_ID value should be the lowest.


CARE_ID EVENT_ID EVENT_DATE EVENT_TYPE
3 189 15/04/2010 00:00 SU
3 104 12/05/2010 00:00 CH
3 16 12/07/2010 00:00 BR
3 17 13/07/2010 00:00 BR
3 18 13/07/2010 00:00 BR
39 6 21/07/2009 00:00 CH
39 45 09/10/2009 00:00 TE
78 9 28/07/2009 00:00 TE
78 11 28/07/2009 00:00 CH
95 21 31/07/2009 00:00 CH
95 21 31/07/2009 00:00 TE
151 49 21/03/2010 00:00 TE
217 158 18/02/2010 00:00 SU
217 102 30/03/2010 00:00 CH
355 19 13/07/2010 00:00 BR
355 20 13/07/2010 00:00 BR
355 21 13/07/2010 00:00 BR
355 22 13/07/2010 00:00 BR
355 23 13/07/2010 00:00 BR
355 56 16/07/2010 00:00 TE
355 111 16/07/2010 00:00 CH
364 569 29/01/2011 00:00 SU
364 673 24/08/2012 00:00 TE
367 247 01/07/2010 00:00 SU
369 117 28/07/2010 00:00 CH
369 248 28/07/2010 00:00 SU
380 277 08/07/2011 00:00 TE
481 63 07/09/2010 00:00 TE
481 289 07/09/2010 00:00 SU
536 135 10/09/2010 00:00 CH
568 314 14/09/2010 00:00 SU
631 147 25/12/2009 00:00 CH
631 74 15/01/2010 00:00 TE
631 148 02/02/2010 00:00 CH
653 360 30/09/2010 00:00 SU
680 366 30/09/2010 00:00 SU
689 372 06/10/2010 00:00 SU
811 413 27/10/2010 00:00 SU
1026 1637 12/04/2012 00:00 SU
1066 472 11/11/2010 00:00 SU
1066 91 15/11/2010 00:00 TE
1109 958 19/07/2011 00:00 SU
1193 2368 27/03/2013 00:00 SU
1199 501 19/11/2010 00:00 SU
1506 178 01/02/2011 00:00 TE
1506 329 01/02/2011 00:00 CH
1506 330 02/02/2011 00:00 CH
1506 166 03/02/2011 00:00 TE
1506 167 04/02/2011 00:00 TE
1506 333 05/02/2011 00:00 CH
1506 170 07/02/2011 00:00 TE
1506 173 05/03/2011 00:00 TE
1506 174 05/03/2011 00:00 TE
1506 175 07/03/2011 00:00 TE
1506 176 07/03/2011 00:00 TE
1506 336 07/03/2011 00:00 CH
1506 337 07/03/2011 00:00 CH
1506 339 07/03/2011 00:00 CH
1506 341 07/03/2011 00:00 CH
1623 531 27/01/2011 00:00 SU
1661 216 25/01/2011 00:00 CH
1661 217 25/01/2011 00:00 CH
1661 95 01/02/2011 00:00 TE
1661 218 01/02/2011 00:00 CH
1662 220 25/01/2011 00:00 CH
1662 221 01/02/2011 00:00 CH
1662 743 13/01/2012 00:00 CH
1662 744 23/01/2012 00:00 CH
1662 672 28/02/2012 00:00 CH
1662 751 27/03/2012 00:00 CH
1662 752 27/03/2012 00:00 CH
1662 753 27/03/2012 00:00 CH
1662 754 27/03/2012 00:00 CH
1662 755 27/03/2012 00:00 CH
1662 756 27/03/2012 00:00 CH
1662 757 27/03/2012 00:00 CH
1662 758 27/03/2012 00:00 CH
1662 759 27/03/2012 00:00 CH
1662 760 27/03/2012 00:00 CH
1662 761 27/03/2012 00:00 CH
1663 97 25/01/2011 00:00 TE
1663 98 01/02/2011 00:00 TE
1663 223 01/02/2011 00:00 CH
1666 100 23/01/2011 00:00 TE
1666 225 01/02/2011 00:00 CH
1667 227 01/02/2011 00:00 CH
1753 326 16/02/2011 00:00 CH
1753 327 17/02/2011 00:00 CH
1753 165 19/02/2011 00:00 TE
1753 168 20/02/2011 00:00 TE
1753 331 20/02/2011 00:00 CH
1753 334 21/02/2011 00:00 CH
1753 171 22/02/2011 00:00 TE
1792 188 04/03/2011 00:00 TE
1792 189 05/03/2011 00:00 TE
1792 349 05/03/2011 00:00 CH
1792 191 06/03/2011 00:00 TE
1792 351 06/03/2011 00:00 CH
1805 378 05/03/2011 00:00 CH
1805 383 05/03/2011 00:00 CH
1805 379 06/03/2011 00:00 CH
1805 381 07/03/2011 00:00 CH
1841 597 28/02/2011 00:00 SU
1887 607 18/03/2011 00:00 SU
1903 657 26/01/2012 00:00 CH
1938 251 01/05/2011 00:00 TE
2054 780 12/05/2011 00:00 SU
2123 769 05/05/2011 00:00 SU
2123 280 10/07/2011 00:00 TE
2186 802 16/05/2011 00:00 SU
2186 1113 23/08/2012 00:00 CH
2186 1114 23/08/2012 00:00 CH
2186 1115 23/08/2012 00:00 CH
2186 1116 23/08/2012 00:00 CH
2187 803 29/01/2011 00:00 SU
2189 227 16/05/2011 00:00 TE
2189 228 16/05/2011 00:00 TE
2222 434 11/05/2011 00:00 CH
2222 513 15/06/2011 00:00 CH
2265 448 31/05/2011 00:00 CH
2294 66 12/06/2011 00:00 BR
2306 918 06/05/2011 00:00 SU
2306 558 11/09/2011 00:00 CH
2306 559 13/09/2011 00:00 CH
2306 560 15/09/2011 00:00 CH
2306 561 17/09/2011 00:00 CH
2364 411 24/04/2012 00:00 TE
2437 518 01/07/2011 00:00 CH
2457 105 01/12/2011 00:00 BR
2457 649 01/12/2011 00:00 CH
2476 1039 17/08/2011 00:00 SU
2512 1393 08/08/2011 00:00 SU
2516 1378 27/01/2012 00:00 SU
2630 576 01/10/2011 00:00 CH
2630 320 30/10/2011 00:00 TE
2630 319 05/11/2011 00:00 TE
2630 321 06/11/2011 00:00 TE
2630 577 08/11/2011 00:00 CH
2630 318 09/11/2011 00:00 TE
2630 316 15/11/2011 00:00 TE
2630 317 15/11/2011 00:00 TE
2630 578 15/11/2011 00:00 CH
2630 579 15/11/2011 00:00 CH
2694 1112 30/04/2011 00:00 SU
2694 307 15/06/2011 00:00 TE
2694 544 02/07/2011 00:00 CH
2694 82 14/10/2011 00:00 BR
2761 1145 11/10/2011 00:00 SU
2778 1147 11/10/2011 00:00 SU
2784 1157 03/10/2011 00:00 SU
2787 1158 12/09/2011 00:00 SU
2804 1175 25/10/2011 00:00 SU
2807 1394 01/02/2012 00:00 SU
2869 581 15/09/2011 00:00 CH
2869 322 18/09/2011 00:00 TE
2869 323 21/09/2011 00:00 TE
2869 84 25/09/2011 00:00 BR
2869 85 29/09/2011 00:00 BR
2875 583 14/11/2011 00:00 CH
2920 1323 15/12/2011 00:00 SU
2974 1250 25/11/2011 00:00 SU
3052 340 05/11/2011 00:00 TE
3052 624 18/12/2011 00:00 CH
3063 629 01/12/2011 00:00 CH
3081 1314 20/12/2011 00:00 SU
3084 352 01/12/2011 00:00 TE
3114 1358 05/01/2012 00:00 SU
3133 644 03/01/2012 00:00 CH
3152 1345 12/01/2012 00:00 SU
3152 372 18/01/2012 00:00 TE
3152 648 18/01/2012 00:00 CH
3152 110 30/01/2012 00:00 BR
3190 1360 05/01/2012 00:00 SU
3213 377 20/01/2012 00:00 TE
3213 1373 20/01/2012 00:00 SU
3318 1420 16/02/2012 00:00 SU
3337 676 01/01/2012 00:00 CH
3337 678 29/02/2012 00:00 CH
3344 2120 17/03/2012 00:00 SU
3365 696 10/11/2011 00:00 CH
3365 704 01/12/2011 00:00 CH
3416 1508 17/03/2012 00:00 SU
3454 766 17/04/2012 00:00 CH
3454 408 13/05/2012 00:00 TE
3496 1558 12/03/2012 00:00 SU
3515 789 15/06/2012 00:00 TE
3515 2700 16/09/2013 00:00 SU
3621 802 02/06/2012 00:00 CH
3621 809 07/06/2012 00:00 CH
3637 811 12/06/2012 00:00 CH
3664 431 02/07/2012 00:00 TE
3694 828 17/05/2012 00:00 CH
3773 1196 30/01/2013 00:00 CH
3773 2701 10/02/2013 00:00 SU
3784 902 01/07/2012 00:00 CH
3797 544 09/07/2012 00:00 TE
3803 1752 07/06/2011 00:00 SU
3858 1810 22/04/2012 00:00 SU
3858 590 01/05/2012 00:00 TE
3920 1056 01/07/2012 00:00 CH
3920 1058 02/07/2012 00:00 CH
3920 1060 03/07/2012 00:00 CH
3920 1062 04/07/2012 00:00 CH
3920 1064 05/07/2012 00:00 CH
3920 276 06/07/2012 00:00 BR
3920 650 07/07/2012 00:00 TE
3920 652 15/07/2012 00:00 TE
3920 278 17/07/2012 00:00 BR
3920 654 18/07/2012 00:00 TE
3920 656 21/07/2012 00:00 TE
3928 1078 01/07/2012 00:00 CH
3928 1139 02/10/2012 00:00 CH
3945 1088 21/06/2012 00:00 CH
3975 1966 11/08/2012 00:00 SU
3975 668 13/08/2012 00:00 TE
3975 1096 13/08/2012 00:00 CH
3976 1097 23/12/2009 00:00 CH
3984 1972 16/08/2012 00:00 SU
3984 681 25/08/2012 00:00 TE
3984 1136 29/08/2012 00:00 CH
4043 2015 18/03/2012 00:00 SU
4043 1131 21/03/2012 00:00 CH
4043 678 24/05/2012 00:00 TE
4126 2082 22/10/2012 00:00 SU
4220 349 30/04/2013 00:00 BR
4307 2179 05/12/2012 00:00 SU
4307 1256 06/02/2013 00:00 CH
4314 2185 11/12/2012 00:00 SU
4333 2216 31/12/2012 00:00 SU
4431 2268 27/08/2012 00:00 SU
4541 2285 01/02/2013 00:00 SU
4541 1688 04/03/2014 00:00 CH
4670 2276 06/01/2011 00:00 SU
4711 2300 01/02/2012 00:00 SU
4711 1257 07/02/2012 00:00 CH
4730 1262 22/11/2012 00:00 CH
4730 2303 30/11/2012 00:00 SU
4740 760 18/02/2013 00:00 TE
4740 1274 18/02/2013 00:00 CH
4740 346 30/04/2013 00:00 BR
4740 347 30/04/2013 00:00 BR
4810 2652 27/01/2013 00:00 SU
4863 1322 22/11/2012 00:00 CH
4863 2412 11/12/2012 00:00 SU
4866 1413 07/07/2013 00:00 CH
4866 831 13/08/2013 00:00 TE
4871 2401 15/03/2013 00:00 SU
4872 2403 11/03/2013 00:00 SU
4876 1324 13/04/2013 00:00 CH
4894 1325 22/11/2012 00:00 CH
4930 1330 21/11/2012 00:00 CH
4930 2425 11/12/2012 00:00 SU
4936 2428 20/04/2013 00:00 SU
4937 2430 22/04/2013 00:00 SU
4961 1335 22/11/2012 00:00 CH
4961 2447 11/12/2012 00:00 SU
4993 2463 15/01/2013 00:00 SU
4993 1345 25/01/2013 00:00 CH
4997 1354 22/11/2012 00:00 CH
4997 2471 11/12/2012 00:00 SU
5049 1371 28/05/2013 00:00 CH
5200 1410 22/11/2012 00:00 CH
5200 2604 11/12/2012 00:00 SU
5225 2802 01/11/2013 00:00 SU
5227 2607 03/07/2013 00:00 SU
5298 2647 08/08/2013 00:00 SU
5298 1454 11/09/2013 00:00 CH
5298 1458 12/09/2013 00:00 CH
5298 1496 30/09/2013 00:00 CH
5333 2660 30/07/2013 00:00 SU
5340 1589 27/12/2013 00:00 CH
5380 1494 26/09/2013 00:00 CH
5500 2735 26/09/2013 00:00 SU
5500 1585 19/12/2013 00:00 CH
5538 2755 28/08/2013 00:00 SU
5553 2796 01/10/2013 00:00 SU
5562 1517 11/10/2013 00:00 CH
5586 2771 15/10/2013 00:00 SU
5600 2776 03/02/2013 00:00 SU
5600 1521 21/03/2013 00:00 CH
5796 855 24/07/2013 00:00 TE
5798 1549 02/11/2013 00:00 CH
5798 2851 04/11/2013 00:00 SU
5816 856 24/07/2013 00:00 TE
5818 2832 03/11/2013 00:00 SU
5843 1546 02/11/2013 00:00 CH
5870 1561 11/12/2013 00:00 CH
5870 2877 11/12/2013 00:00 SU
5890 1578 18/12/2013 00:00 CH
5924 2946 23/04/2013 00:00 SU
5925 2949 23/12/2013 00:00 SU
6050 2995 16/01/2014 00:00 SU
6054 3039 15/01/2014 00:00 SU
6106 3018 16/01/2014 00:00 SU
6217 3077 28/01/2014 00:00 SU
6217 873 04/02/2014 00:00 TE
6234 878 13/02/2014 00:00 TE
6264 882 20/02/2014 00:00 TE
6264 1653 20/02/2014 00:00 CH
6273 3105 15/02/2014 00:00 SU
6281 3111 29/03/2012 00:00 SU
6281 886 01/05/2012 00:00 TE
6281 1660 01/05/2012 00:00 CH
6288 399 24/02/2014 00:00 BR
6288 400 24/02/2014 00:00 BR
6288 401 24/02/2014 00:00 BR
6300 3122 06/02/2009 00:00 SU
6300 1673 01/03/2009 00:00 CH
6327 3130 10/01/2013 00:00 SU
6407 1696 14/03/2014 00:00 CH
6452 3181 17/03/2014 00:00 SU
6460 1699 05/01/2014 00:00 CH
6460 3201 10/01/2014 00:00 SU
6460 1698 12/03/2014 00:00 CH
6464 1701 18/12/2013 00:00 CH
   

- Advertisement -