Membuat SQL Tree database MySQL

kesempatan kali ini akan menjelaskan teknik pembuatan perintah SQL tree di dalam database MySQL. sebagai contoh siapkan sebuah database seperti dibawah ini.

CREATE TABLE akt_kdperk
(
  kdperk varchar(13) not null default "",
  kdperk_induk varchar(13) not null default "",
  nmperk varchar(50) not null default "",
  primary key (kdperk)
) engine=MyISAM default charset=utf8;

Kemudian isi data sebagai berikut :

kdperk  kdperk_induk  nmperk        
1       0             HARTA         
2       0             HUTANG        
3       0             MODAL         
4       0             PENDAPATAN    
5       0             BEBAN         
11      1             HARTA LANCAR  
12      1             HARTA TETAP   
111     11            KAS           
21      2             HUTANG LANCAR 
22      2             HUTANG JANGKA PANJANG
31      3             MODAN, TN X   
41      4             PENDAPATAN USAHANJANG
51      5             BEBAN OPERASIONALJANG
112     11            PIUTANG USAHA 
42      4             PENDAPATAN NON OPERASIONAL
32      3             PRIVE, TN X   
1121    112           PT.A          
411     41            CUCI MOBIL

Kemudian untuk menampilkan tree datanya ketikkan perintah sql di bawah ini:

SELECT c1.kdperk, c1.nmperk FROM akt_kdperk AS c1
LEFT JOIN akt_kdperk c2 
ON c1.kdperk_induk=c1.kdperk OR (c1.kdperk_induk="0" AND c1.kdperk=c2.kdperk)
ORDER BY C1.KDPERK,c2.kdperk_induk,c2.kdperk;

hasilnya:

kdperk  nmperk                      
------  ----------------------------
1       HARTA                       
11      HARTA LANCAR                
111     KAS                         
112     PIUTANG USAHA               
1121    PT.A                        
12      HARTA TETAP                 
2       HUTANG                      
21      HUTANG LANCAR               
22      HUTANG JANGKA PANJANG       
3       MODAL                       
31      MODAN, TN X                 
32      PRIVE, TN X                 
4       PENDAPATAN                  
41      PENDAPATAN USAHA            
411     CUCI MOBIL                  
42      PENDAPATAN NON OPERASIONAL  
5       BEBAN                       
51      BEBAN OPERASIONAL        

selamat mencoba !!!

reff: http://stackoverflow.com/questions/91360/how-to-calculate-the-sum-of-values-in-a-tree-using-sql

2 thoughts on “Membuat SQL Tree database MySQL”

Leave a Reply

Your email address will not be published. Required fields are marked *

[+] kaskus emoticons nartzco

What is 1 + 14 ?
Please leave these two fields as-is: