Shubham Mishra
Shubham Mishra

Reputation: 114

How to compare two column value of two row in a single table using sql?

Suppose I have table employee

+--------------+--------+------------+
| id           | e_name |  leder_id  |
+--------------+--------+------------+
| 1            | abc    | 2          |
| 2            | def    | 4          |
| 3            | ghi    | 2          |
| 4            | jkl    | 1          |
| 5            | mno    | 3          |
+--------------+--------+------------+

...and I want output like this by using SQL. where every e_name has a leader and their leder_id is given.

+--------------+---------+
|e_name        | l_name | 
+--------------+--------+
| abc          | def    | 
| def          | jkl    | 
| ghi          | def    | 
| jkl          | abc    | 
| mno          | ghi    | 
+--------------+--------+

Upvotes: 3

Views: 83

Answers (2)

Yogesh Sharma
Yogesh Sharma

Reputation: 50163

Do the SELF JOIN

SELECT 
       e.e_name, el.e_name as l_name 
FROM employee e
INNER JOIN employee el on el.id = e.leder_id    

In case some employee has no any leader use LEFT OUTER JOIN instead.

Upvotes: 4

Korteby Farouk
Korteby Farouk

Reputation: 649

Here you go :

SELECT
    e.e_name as e_name ,
    l.e_name as l_name        
FROM
    employee e,
    employee l
WHERE
    e.leder_id  = l.id

Upvotes: 2

Related Questions