Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Job Application Test from Hell

Job Application Test from Hell

Scheduled Pinned Locked Moved The Lounge
databasequestioncareer
64 Posts 33 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Brady Kelly

    I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

    Region

    Contact

    Cape Town

    Fred

    CapeTown

    Joe

    Cape Town

    Anna

    Durban

    John

    Durban

    Mary

    Johannesburg

    Frank

    Fig. 2

    Region

    Contact

    Durban

    John

    Durban

    Mary

    Johannesburg

    Frank

    Cape Town

    Anna

    CapeTown

    Fred

    Cape Town

    Joe

    R Offline
    R Offline
    realJSOP
    wrote on last edited by
    #8

    First, the data input routine allowed unvalidated data (the "CapeTown" entry). Second, it's apparently only ordered by region, and the name column doesn't have any brearing. In essense, you should have punched the interviewer in the mouth for wasting your time.

    .45 ACP - because shooting twice is just silly
    -----
    "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
    -----
    "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001

    B 1 Reply Last reply
    0
    • C Christian Graus

      Is there any sense to that order ?

      Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

      B Offline
      B Offline
      Brady Kelly
      wrote on last edited by
      #9

      Only in that there is a horizontal partitioning, i.e. rows >= Durban versus rows < Durban, and an apparent outer ordering by partition.

      1 Reply Last reply
      0
      • S Single Step Debugger

        Brady Kelly wrote:

        but this is quite a hard question

        You are sarcastic right? "Union All" will do the job pretty easy.

        The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

        B Offline
        B Offline
        Brady Kelly
        wrote on last edited by
        #10

        How do you ensure the required ordering?

        S 2 Replies Last reply
        0
        • C Christian Graus

          Is there any sense to that order ?

          Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

          W Offline
          W Offline
          wolfbinary
          wrote on last edited by
          #11

          I was thinking the same thing.

          That's called seagull management (or sometimes pigeon management)... Fly in, flap your arms and squawk a lot, crap all over everything and fly out again... by _Damian S_

          1 Reply Last reply
          0
          • R realJSOP

            First, the data input routine allowed unvalidated data (the "CapeTown" entry). Second, it's apparently only ordered by region, and the name column doesn't have any brearing. In essense, you should have punched the interviewer in the mouth for wasting your time.

            .45 ACP - because shooting twice is just silly
            -----
            "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
            -----
            "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001

            B Offline
            B Offline
            Brady Kelly
            wrote on last edited by
            #12

            It was by email, and solvable. Durban and Cape Town contacts are sorted by name in the requirement. All contacts are sorted only by Region in the input data.

            C 1 Reply Last reply
            0
            • B Brady Kelly

              I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

              Region

              Contact

              Cape Town

              Fred

              CapeTown

              Joe

              Cape Town

              Anna

              Durban

              John

              Durban

              Mary

              Johannesburg

              Frank

              Fig. 2

              Region

              Contact

              Durban

              John

              Durban

              Mary

              Johannesburg

              Frank

              Cape Town

              Anna

              CapeTown

              Fred

              Cape Town

              Joe

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #13

              The correct answer is: "With which database system?" P.S. With Access/Jet via ADO.net:

              select * from RegionContact order by len(Region) mod 2,Region,Contact

              Region Contact


              Durban John
              Durban Mary
              Johannesburg Frank
              Cape Town Anna
              Cape Town Fred
              Cape Town Joe

              6 records affected.

              modified on Wednesday, November 24, 2010 4:03 PM

              A 1 Reply Last reply
              0
              • B Brady Kelly

                I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

                Region

                Contact

                Cape Town

                Fred

                CapeTown

                Joe

                Cape Town

                Anna

                Durban

                John

                Durban

                Mary

                Johannesburg

                Frank

                Fig. 2

                Region

                Contact

                Durban

                John

                Durban

                Mary

                Johannesburg

                Frank

                Cape Town

                Anna

                CapeTown

                Fred

                Cape Town

                Joe

                A Offline
                A Offline
                AspDotNetDev
                wrote on last edited by
                #14

                So here's my guess as to what the sort order is:

                • Sort by region, ascending, but making the first item group (by region) in that sort the last item. Do not consider whitespace in the sort order.
                • When two or more of the regions are the same (again, excluding whitespace), sort by contact ascending.

                Rather than follow those zany rules, I'd probably just do this:

                SELECT 'Durban' AS Region, 'John' AS Contact
                UNION
                SELECT 'Durban', 'Mary'
                UNION
                SELECT 'Johannesburg', 'Frank'
                UNION
                SELECT 'Cape Town', 'Anna'
                UNION
                SELECT 'CapeTown', 'Fred'
                UNION
                SELECT 'Cape Town', 'Joe'

                [Forum Guidelines]

                1 Reply Last reply
                0
                • B Brady Kelly

                  I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

                  Region

                  Contact

                  Cape Town

                  Fred

                  CapeTown

                  Joe

                  Cape Town

                  Anna

                  Durban

                  John

                  Durban

                  Mary

                  Johannesburg

                  Frank

                  Fig. 2

                  Region

                  Contact

                  Durban

                  John

                  Durban

                  Mary

                  Johannesburg

                  Frank

                  Cape Town

                  Anna

                  CapeTown

                  Fred

                  Cape Town

                  Joe

                  A Offline
                  A Offline
                  Andy Brummer
                  wrote on last edited by
                  #15

                  I hope the question was an attempt to see if you would back away from the keyboard and start asking questions. If not, they deserve all the gung ho developers that they get.

                  Curvature of the Mind

                  1 Reply Last reply
                  0
                  • B Brady Kelly

                    How do you ensure the required ordering?

                    S Offline
                    S Offline
                    Single Step Debugger
                    wrote on last edited by
                    #16

                    We can’t use “order by” with the union but we could unite every single row separately – ugly but works.

                    The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                    1 Reply Last reply
                    0
                    • B Brady Kelly

                      How do you ensure the required ordering?

                      S Offline
                      S Offline
                      Single Step Debugger
                      wrote on last edited by
                      #17

                      select * from (select * from dbo.RegionTable RT
                      where RT.Region = 'Durban' order by RT.Contact asc) as union1
                      union all
                      select * from (select * from dbo.RegionTable RT
                      where RT.Region = 'Johannesburg' order by RT.Contact asc) as union3
                      union all
                      select * from (select * from dbo.RegionTable RT
                      where RT.Region = 'Cape Town' order by RT.Contact asc) as union2

                      The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                      C B 2 Replies Last reply
                      0
                      • S Single Step Debugger

                        select * from (select * from dbo.RegionTable RT
                        where RT.Region = 'Durban' order by RT.Contact asc) as union1
                        union all
                        select * from (select * from dbo.RegionTable RT
                        where RT.Region = 'Johannesburg' order by RT.Contact asc) as union3
                        union all
                        select * from (select * from dbo.RegionTable RT
                        where RT.Region = 'Cape Town' order by RT.Contact asc) as union2

                        The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                        C Offline
                        C Offline
                        Chris Meech
                        wrote on last edited by
                        #18

                        This will fail, since one of the regions has been entered as "CapeTown" instead of "Cape Town". :)

                        Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

                        S 1 Reply Last reply
                        0
                        • B Brady Kelly

                          I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

                          Region

                          Contact

                          Cape Town

                          Fred

                          CapeTown

                          Joe

                          Cape Town

                          Anna

                          Durban

                          John

                          Durban

                          Mary

                          Johannesburg

                          Frank

                          Fig. 2

                          Region

                          Contact

                          Durban

                          John

                          Durban

                          Mary

                          Johannesburg

                          Frank

                          Cape Town

                          Anna

                          CapeTown

                          Fred

                          Cape Town

                          Joe

                          C Offline
                          C Offline
                          Chris Meech
                          wrote on last edited by
                          #19

                          The only obvious ordering sequence is the number of capitalized letters in Region, followed by the Region, followed by the Contact. :)

                          Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

                          P 1 Reply Last reply
                          0
                          • B Brady Kelly

                            It was by email, and solvable. Durban and Cape Town contacts are sorted by name in the requirement. All contacts are sorted only by Region in the input data.

                            C Offline
                            C Offline
                            Christian Graus
                            wrote on last edited by
                            #20

                            OK, so it's sorted by two fields we can't see ( region and email address ) ?

                            Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                            G 1 Reply Last reply
                            0
                            • B Brady Kelly

                              I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

                              Region

                              Contact

                              Cape Town

                              Fred

                              CapeTown

                              Joe

                              Cape Town

                              Anna

                              Durban

                              John

                              Durban

                              Mary

                              Johannesburg

                              Frank

                              Fig. 2

                              Region

                              Contact

                              Durban

                              John

                              Durban

                              Mary

                              Johannesburg

                              Frank

                              Cape Town

                              Anna

                              CapeTown

                              Fred

                              Cape Town

                              Joe

                              T Offline
                              T Offline
                              Tomz_KV
                              wrote on last edited by
                              #21

                              select region, contact from ( select region, contact, case when region='Johannesburg' then 5 when region='Durban' then 1 else 10 end as Expr1 from TableName ) as Tbl order by Expr1, Contact

                              TOMZ_KV

                              S 1 Reply Last reply
                              0
                              • C Chris Meech

                                This will fail, since one of the regions has been entered as "CapeTown" instead of "Cape Town". :)

                                Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra] posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]

                                S Offline
                                S Offline
                                Single Step Debugger
                                wrote on last edited by
                                #22

                                No it won’t because the missing interval is due to the level of Brady’s BAC rather than the original task conditions. :)

                                The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                                B 1 Reply Last reply
                                0
                                • S Single Step Debugger

                                  No it won’t because the missing interval is due to the level of Brady’s BAC rather than the original task conditions. :)

                                  The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                                  B Offline
                                  B Offline
                                  Brady Kelly
                                  wrote on last edited by
                                  #23

                                  Haha, no, I suspect it was a typo on their part, but I treated it like I would a landmine. :~

                                  P 1 Reply Last reply
                                  0
                                  • S Single Step Debugger

                                    select * from (select * from dbo.RegionTable RT
                                    where RT.Region = 'Durban' order by RT.Contact asc) as union1
                                    union all
                                    select * from (select * from dbo.RegionTable RT
                                    where RT.Region = 'Johannesburg' order by RT.Contact asc) as union3
                                    union all
                                    select * from (select * from dbo.RegionTable RT
                                    where RT.Region = 'Cape Town' order by RT.Contact asc) as union2

                                    The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                                    B Offline
                                    B Offline
                                    Brady Kelly
                                    wrote on last edited by
                                    #24

                                    The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified. :) Here is mine, a little more general but very much the same:

                                    select first.*, 0 outerSeq from (select top(select COUNT(*) from Contacts) * from Contacts where Region >= 'Durban' order by Region, Contact) first
                                    union all
                                    select second.*, 1 outerSeq from (select top (select COUNT(*) from Contacts) * from Contacts where Region < 'Durban' order by Region, Contact) as second
                                    order by outerSeq

                                    S 1 Reply Last reply
                                    0
                                    • B Brady Kelly

                                      Haha, no, I suspect it was a typo on their part, but I treated it like I would a landmine. :~

                                      P Offline
                                      P Offline
                                      PIEBALDconsult
                                      wrote on last edited by
                                      #25

                                      What? Hold a protest rally outside the Pentagon? :confused:

                                      1 Reply Last reply
                                      0
                                      • T Tomz_KV

                                        select region, contact from ( select region, contact, case when region='Johannesburg' then 5 when region='Durban' then 1 else 10 end as Expr1 from TableName ) as Tbl order by Expr1, Contact

                                        TOMZ_KV

                                        S Offline
                                        S Offline
                                        Single Step Debugger
                                        wrote on last edited by
                                        #26

                                        This is shorter than my solution, I like it!:thumbsup:

                                        The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                                        1 Reply Last reply
                                        0
                                        • B Brady Kelly

                                          I'm not looking for an answer here, I found my own, but this is quite a hard question. Given the table from Fig.1, write an SQL Select statement that would re-organize the results to look like Fig.2 Fig. 1

                                          Region

                                          Contact

                                          Cape Town

                                          Fred

                                          CapeTown

                                          Joe

                                          Cape Town

                                          Anna

                                          Durban

                                          John

                                          Durban

                                          Mary

                                          Johannesburg

                                          Frank

                                          Fig. 2

                                          Region

                                          Contact

                                          Durban

                                          John

                                          Durban

                                          Mary

                                          Johannesburg

                                          Frank

                                          Cape Town

                                          Anna

                                          CapeTown

                                          Fred

                                          Cape Town

                                          Joe

                                          P Offline
                                          P Offline
                                          Pete OHanlon
                                          wrote on last edited by
                                          #27

                                          Well, one way to do this would be to do something along the lines of:

                                          SELECT Region, Contact FROM WhatACrappyTest
                                          ORDER BY SUBSTRING(Region,2,1) DESC, Contact ASC

                                          This works based on the fact that the second character is ordered descending, and the contact orders ascending. This even takes the fact that your have CapeTown and Cape Town in the Region column. Obviously, the interviewer should be challenged on the validity of this question.

                                          I have CDO, it's OCD with the letters in the right order; just as they ruddy well should be

                                          Forgive your enemies - it messes with their heads

                                          My blog | My articles | MoXAML PowerToys | Onyx

                                          C A P 3 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups