Self Join MySQL

By deptz, Tue. March 17, 2009
Categories: sql
Tags: , ,
555 views

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 Responses to “Self Join MySQL”

  1. nunu Says:

    wah maksude opo kuwi? bingung aku…
    hehehehe

    masih pemula mas deptzz, butuh banyak bimbingan nih…

    :-))

  2. d3ptzz Says:

    @nunu: mari belajar bersama

Comments