Read 117 times | Created 2013-09-08 03:58:32 | Updated 2013-09-09 02:35:53 | | |
DROP TABLE IF EXISTS `tb_kota`; CREATE TABLE IF NOT EXISTS `tb_kota` ( `kd_kota` int(11) unsigned NOT NULL AUTO_INCREMENT, `kota` VARCHAR(30)NOT NULL, `provinsi` VARCHAR(30) NOT NULL, PRIMARY KEY (`kd_kota`) ) ENGINE=MyISAM; INSERT INTO tb_kota(`kota`,`provinsi`) VALUES('malang','jawa timur'),('blitar','jawa timur'),('kediri','jawa timur'),('pacitan','jawa timur'); DROP TABLE IF EXISTS `tb_rute`; CREATE TABLE IF NOT EXISTS `tb_rute` ( `rute` char(1) NOT NULL, `dari` int(11)NOT NULL, `tujuan` int(11) NOT NULL ) ENGINE=MyISAM; INSERT INTO tb_rute VALUES('a',1,2),('b',2,1),('c',1,3); -- relasi rute dengan kota asal dan kota tujuan SELECT a.rute,b.kota AS dari, c.kota AS tujuan FROM tb_rute a JOIN tb_kota b ON a.dari=b.kd_kota JOIN tb_kota c ON a.tujuan=c.kd_kota; -- kota yang tidak punya rute SELECT b.kota FROM tb_rute a RIGHT JOIN tb_kota b ON (a.dari = b.kd_kota OR a.tujuan = b.kd_kota) WHERE a.rute IS NULL;