Log in  ::  Register  ::  Not logged in

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

 CROSS APPLY Rate Topic Display Mode Topic Options
Author
 Message
 Posted Wednesday, October 17, 2012 6:15 AM
 SSC Veteran Group: General Forum Members Last Login: Yesterday @ 12:38 AM Points: 299, Visits: 950
 CROSS APPLY ( SELECT col = CASE WHEN MAX(col) = MIN(col) THEN MAX(col) ELSE NULL END )
Post #1373755
 Posted Wednesday, October 17, 2012 7:50 AM
 Say Hey Kid Group: General Forum Members Last Login: Monday, November 21, 2016 8:42 AM Points: 698, Visits: 3,018
 And the question is!? ==========================================================================================================================A computer lets you make more mistakes faster than any invention in human history - with the possible exceptions of handguns and tequila. Mitch Ratcliffe
Post #1373797
 Posted Wednesday, October 17, 2012 8:30 AM
 SSC-Forever Group: General Forum Members Last Login: Today @ 7:09 AM Points: 42,037, Visits: 39,417
 Skanda (10/17/2012)CROSS APPLY ( SELECT col = CASE WHEN MAX(col) = MIN(col) THEN MAX(col) ELSE NULL END )You REALLY need to get out of the habit of editing your posts. Replacing the question with the answer does no one reading the thread any good. Even you won't have a clue as to what the question actually was in a couple of weeks so you've destroyed your own valuable reference. --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 #1373839
 Posted Wednesday, October 17, 2012 9:26 AM
 SSCrazy Group: General Forum Members Last Login: Yesterday @ 3:40 PM Points: 2,379, Visits: 9,419
 Skanda (10/17/2012)CROSS APPLY ( SELECT col = CASE WHEN MAX(col) = MIN(col) THEN MAX(col) ELSE NULL END )CROSS APPLY applies a "function" to each row of the (virtual) table. In this case, you're calculating a value based on an aggregate of a set consisting of a single record. You can see this by adding a COUNT(*) to your SELECT clause within the CROSS APPLY. Because the set contains a single record, MAX(col) is necessarily equal to MIN(col) except for the case where col is null. Since you're returning a null value in that case, your CROSS APPLY is equivalent to` CROSS APPLY ( SELECT col )`Drew J. Drew AllenBusiness Intelligence AnalystPhiladelphia, PAHow to post data/code on a forum to get the best help.Make sure that you include code in the appropriate IFCode tags, e.g. [code="sql"][/code]. You can find the IFCode tags on the left when you are writing a post.How to Post Performance Problems
Post #1373896

 Permissions