Rebecca
Rebecca

Reputation: 169

SQL Database Query selecting different corresponding values for one value

How can I get the output like this from the table? If I have a table for example shown below

First Name         Last Name
----------    

 1. John            Doe
 2. John           Ruggles
 3. Ricky          Rog
 4. kelly          Ali
 5. Ricky           Gyri

I want to show this as below

First Name       Last Name

 1.John           Doe
                  Ruggles

 2. Kelly         Ali

 3. Ricky         Rog
                  Gyri

Like for each name I want to display last name. I want First Name will appear only one time. Please help me. Its a tabular data, first name and last name are different columns

Upvotes: 3

Views: 294

Answers (1)

Andomar
Andomar

Reputation: 238126

You can use the row_number() analytic function to determine if the last name has changed:

select  case
        when row_number() over (partition by FirstName 
                                order by FirstName, LastName) = 1 
            then FirstName
        else ''
        end as FirstName
,       LastName
from    YourTable
order by
        YourTable.FirstName
,       LastName

Example at SQL Fiddle.

Upvotes: 2

Related Questions