| Author |
Topic |
|
NguyenL71
Posting Yak Master
228 Posts |
Posted - 2010-02-05 : 14:52:09
|
| I need to get the results showing below but get stuck. Any helps would greatly appreciate.IF OBJECT_ID('Tempdb.dbo.#t', 'u') IS NOT NULL DROP TABLE #tGOCREATE TABLE #t( LoanId INT NULL, IsBidAccepted BIT NOT NULL, RRA VARCHAR(20) NULL, ConstStartdt DATETIME NULL, ConstEnddt DATETIME NULL, rk TINYINT)GO INSERT #t SELECT 104825, 0, 'mjones', NULL, NULL, 1 UNION ALL SELECT 104825, 0, 'mjones', NULL, NULL, 2 UNION ALL SELECT 108335, 0, 'mjones', '10/19/2009', '12/11/2009', 1 UNION ALL SELECT 108335, 1, 'mjones', '10/19/2009', NULL, 2 UNION ALL SELECT 105270, 0, 'JPeacock', '08/31/2009', '09/09/2009', 1 UNION ALL SELECT 105270, 1, 'JPeacock', NULL, NULL, 2 UNION ALL SELECT 107054, 0, 'shickey', NULL, NULL, 1 UNION ALL SELECT 105256, 1, 'jdominguez', NULL, NULL, 1 GO SELECT * FROM #t; GO IsBidAccepted = 0 Not accepted, 1 = accepted. Business rules: If the multiple LoanId are the same RETURN where IsBidAccepted = 1 and ConstStartdt IS NULL OR ConstEnddt IS NULL If the multiple loanId are the same RETURN where and IsBidAccepted = 0 and ConstStartdt IS NULL OR ConstEnddt IS NULL -- Desire results: LoanId IsBidAccepted RRA ConstStartdt ConstEnddt rk ----------- ------------- -------------------- ----------------------- ----------------------- ---- 104825 0 mjones NULL NULL 2 108335 1 mjones 2009-10-19 00:00:00.000 NULL 2 105270 1 JPeacock NULL NULL 2 107054 0 shickey NULL NULL 1 105256 1 jdominguez NULL NULL 1 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2010-02-06 : 05:53:40
|
| [code]SELECT LoanId, IsBidAccepted, RRA, ConstStartdt, ConstEnddt, rkFROM(SELECT ROW_NUMBER() OVER (PARTITION BY LoanId ORDER BY rk DESC) AS Seq, LoanId, IsBidAccepted, RRA, ConstStartdt, ConstEnddt, rkFROM TableWHERE ConstStartdt IS NULL OR ConstEnddt IS NULL)tWHERE Seq=1[/code] |
 |
|
|
|
|
|