• SQL_FS (10/1/2013)


    Sean Lange (10/1/2013)


    SQL_FS (9/30/2013)


    SELECT string, category

    FROM @SampleData

    ORDER BY

    CASE WHEN category % 7 = 0 THEN 1

    WHEN category % 3 = 0 THEN 2

    ELSE 3

    END ASC

    , string ASC

    This is NOT ordering by ordinal position. This is ordering by a derived column in the where clause. You are in affect ordering by the hardcoded values, not the column position.

    I understand that as I indicated in my original post I feel dirty because it now looks very similar to me to ordering by ordinal position. I'm just asking if others feel that it is bad form to do this in the order by clause.

    Mods, please feel free to close this thread I've somehow managed to derail my own thread and can't get it back on track!. 🙂

    Threads don't close around here. 😉

    However, I don't think what you are doing there is bad form. I understand your concern about what it might look like. If the concern is great, add some comments to explain it.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/