• First off, cool article

    I'm also using SQL 2000, so instead of using sys.views I use:

    IF object_id('Digits') is not null drop view Digits

    Here is a way to print the Sudoko table using SQL 2000. You need to change the options in query analyzer to not print column headers and set the output format to "space delimited".

    select '*','-','-','-','-','-','-','-','-','-','-','-','*'

    union all

    select --rowId

    '|'

    ,max(case columnId when 1 then isnull(cast(cellValue as char(1)),'.') end)

    ,max(case columnId when 2 then isnull(cast(cellValue as char(1)),'.') end)

    ,max(case columnId when 3 then isnull(cast(cellValue as char(1)),'.') end)

    ,'|'

    ,max(case columnId when 4 then isnull(cast(cellValue as char(1)),'.') end)

    ,max(case columnId when 5 then isnull(cast(cellValue as char(1)),'.') end)

    ,max(case columnId when 6 then isnull(cast(cellValue as char(1)),'.') end)

    ,'|'

    ,max(case columnId when 7 then isnull(cast(cellValue as char(1)),'.') end)

    ,max(case columnId when 8 then isnull(cast(cellValue as char(1)),'.') end)

    ,max(case columnId when 9 then isnull(cast(cellValue as char(1)),'.') end)

    ,'|'

    from sudoko

    where rowId 6

    group by RowId

    union all

    select '*','-','-','-','-','-','-','-','-','-','-','-','*'