Self Join MySQL

Ada suatu kasus. Ada tabel karyawan. Nah manager juga dimasukkan ke dalam table ini. Struktur table seperti ini:

id|nama|manager_id|

kemudian misalnya datanya sebagai berikut:
id|nama|manager_id|
1|bayu|0|
2|d3ptzz|1|
3|puji|1|
4|priyono|2|
5|triwibowo|2|

Dan ingin dihasilkan data seperti ini:

id|nama|manager|
2|d3ptzz|bayu|
3|puji|bayu|
4|priyono|d3ptzz|
5|triwibowo|d3ptzz|

Maka untuk mendapatkan hasil seperti diatas, SQL querynya sebagai berikut:

SELECT id, nama, manager_id AS mid, (SELECT nama FROM karyawan WHERE id = mid) As manager FROM karyawan WHERE manager_id != 0

Kalau memakai Code Igniter, buat model:

$get_manager = “SELECT nama FROM karyawan WHERE id = mid”;
$this->db->select(‘id, nama, manager_id AS mid, (‘.$get_manager.’) AS manager’);

$this->db->where(‘manager_id !=’, 0);

$query = $this->db->get(‘karyawan’);
return $query->result();
Semoga bermanfaat. Diposting dalam keadaan terngantuk-ngantuk. Berdasarkan petuah dari ‘Guru’ Bayu Hernanto

2 thoughts on “Self Join MySQL

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.