Home Forums SQL Server 2008 SQL Server 2008 - General Puzzle : Generating two unique numbers from an array of numbers (repetation not allowed) RE: Puzzle : Generating two unique numbers from an array of numbers (repetation not allowed)

  • Here's what I came up with. Does the same thing the same way, just another way to write it:

    WITH Numbers

    AS (SELECT *

    FROM ( VALUES ( '1'), ( '2'), ( '3'), ( '4'), ( '5'), ( '6'), ( '7'), ( '8'), ( '9') ) AS Nums (Number))

    SELECT N1.Number + N2.Number + N3.Number + N4.Number + N5.Number, N6.Number + N7.Number + N8.Number + N9.Number

    FROM Numbers AS N1

    CROSS APPLY (SELECT Number

    FROM Numbers AS N2

    WHERE N2.Number != N1.Number) AS N2

    CROSS APPLY (SELECT Number

    FROM Numbers AS N3

    WHERE N3.Number NOT IN (N1.Number, N2.Number)) AS N3

    CROSS APPLY (SELECT Number

    FROM Numbers AS N4

    WHERE N4.Number NOT IN (N1.Number, N2.Number, N3.Number)) AS N4

    CROSS APPLY (SELECT Number

    FROM Numbers AS N5

    WHERE N5.Number NOT IN (N1.Number, N2.Number, N3.Number, N4.Number)) AS N5

    CROSS APPLY (SELECT Number

    FROM Numbers AS N6

    WHERE N6.Number NOT IN (N1.Number, N2.Number, N3.Number, N4.Number, N5.Number)) AS N6

    CROSS APPLY (SELECT Number

    FROM Numbers AS N7

    WHERE N7.Number NOT IN (N1.Number, N2.Number, N3.Number, N4.Number, N5.Number, N6.Number)) AS N7

    CROSS APPLY (SELECT Number

    FROM Numbers AS N8

    WHERE N8.Number NOT IN (N1.Number, N2.Number, N3.Number, N4.Number, N5.Number, N6.Number,

    N7.Number)) AS N8

    CROSS APPLY (SELECT Number

    FROM Numbers AS N9

    WHERE N9.Number NOT IN (N1.Number, N2.Number, N3.Number, N4.Number, N5.Number, N6.Number,

    N7.Number, N8.Number)) AS N9

    WHERE N1.Number = '4'

    AND N5.Number = '6'

    AND CAST(N1.Number + N2.Number + N3.Number + N4.Number + N5.Number AS INT)

    - CAST(N6.Number + N7.Number + N8.Number + N9.Number AS INT) = 33333

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon