Cara menggabungkan 3 tabel di mysql

dan menampilkannya dalam Web

Assalamuálaikum teman-teman yang suka data…

Kali ini kita kembali membahas tentang penggabungan kolom/field pada tabel yang berbeda. Langsung saja kita coba,

Hidupkan dulu XAMPP dan nyalakan Apache dan MySQL terlebih dahulu,

Cara menggabungkan 3 tabel di mysql

kemudian masuklah melalui command prompt,

C:/xampp/mysql/bin> mysql -u root -p

kemudian terlihat jendela seperti berikut,

Cara menggabungkan 3 tabel di mysql

buatlah sebuah database terlebih dahulu, misal dengan nama ‘grosir’ kemudian buatlah 3 tabel seperti berikut,

MariaDB [(none)]> create database gudang;
MariaDB [(none)]> use gudang;
MariaDB [(gudang)]>

nampak seperti berikut,

Cara menggabungkan 3 tabel di mysql

kemudian masukkan seperti berikut,

CREATE TABLE IF NOT EXISTS `tblproduk` (
`NIPR` varchar(15) NOT NULL,
`Nama` varchar(30) NOT NULL,
`Jenis` text NOT NULL,
PRIMARY KEY (`NIPR`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `tblsupp` (
`Id` int(5) NOT NULL AUTO_INCREMENT,
`Suppname` varchar(15) NOT NULL,
`Telpon` varchar(15) NOT NULL,
`NIPR` varchar(15) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
CREATE TABLE IF NOT EXISTS `tbltransaksi` (
`Id` int(5) NOT NULL AUTO_INCREMENT,
`Tanggal` Date NOT NULL,
`NIPR` varchar(15) NOT NULL,
`Jumlah` varchar(15) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

nampak seperti berikut,

Cara menggabungkan 3 tabel di mysql

kemudian coba masukkan data-data berikut,

INSERT INTO `tblproduk` (`NIPR`, `Nama`, `Jenis`) VALUES
('101', 'Asus Pro', 'Laptop'),
('102', 'Lenovo', 'Laptop'),
('103', 'Acer', 'Laptop'),
('104', 'Dell', 'Laptop'),
('201', 'Samsung', 'Handphone'),
('202', 'Oppo', 'Handphone'),
('203', 'Vivo', 'Handphone'),
('204', 'Xiaomi', 'Handphone'),
('301', 'Sony', 'Camera'),
('302', 'Kodak', 'Camera'),
('303', 'Casio', 'Camera'),
('401', 'HP', 'Printer'),
('402', 'Epson', 'Printer');
INSERT INTO `tblsupp` (`Id`, `Suppname`, `Telpon`, `NIPR`) VALUES
(1, 'PT Trijaya', '08587756444', '101'),
(2, 'PT Trijaya', '08587756444', '102'),
(3, 'ELSComp', '0857366643232', '103'),
(4, 'ELSComp', '0857366643232', '104'),
(5, 'Metrodigital', '087654121290', '201'),
(6, 'Metrodigital', '087654121290', '202'),
(7, 'XtraNet', '081255255578', '203'),
(8, 'XtraNet', '081255255578', '204'),
(9, 'PT Global Tama', '085644411112', '301'),
(10, 'PT Global Tama', '085644411112', '302'),
(11, 'PT Global Tama', '085644411112', '303'),
(12, 'CV SAT Comp', '085736664555', '401'),
(13, 'CV SAT Comp', '085736664555', '402');
INSERT INTO `tbltransaksi` (`Id`, `Tanggal`, `NIPR`, `Jumlah`) VALUES
(1, '2019-10-21', '101', '3'),
(2, '2019-10-21', '102', '5'),
(3, '2019-10-21', '103', '7'),
(4, '2019-10-21', '104', '5'),
(5, '2019-10-22', '201', '15'),
(6, '2019-10-22', '202', '7'),
(7, '2019-10-21', '203', '7'),
(8, '2019-10-21', '204', '5'),
(9, '2019-10-25', '101', '2'),
(10, '2019-10-25', '102', '5'),
(11, '2019-10-25', '103', '4'),
(12, '2019-10-25', '104', '5'),
(13, '2019-10-27', '401', '4'),
(14, '2019-10-27', '402', '3'),
(15, '2019-10-27', '203', '7'),
(16, '2019-10-27', '204', '5'),
(17, '2019-10-30', '301', '3'),
(18, '2019-10-30', '302', '3'),
(19, '2019-10-30', '103', '7'),
(20, '2019-10-30', '104', '5'),
(21, '2019-11-05', '201', '15'),
(22, '2019-11-05', '202', '7'),
(23, '2019-11-05', '303', '4'),
(24, '2019-11-05', '204', '5'),
(25, '2019-11-05', '101', '2'),
(26, '2019-11-05', '102', '5'),
(27, '2019-11-09', '103', '4'),
(28, '2019-11-09', '104', '2'),
(29, '2019-11-09', '401', '4'),
(30, '2019-11-09', '402', '3'),
(31, '2019-11-09', '203', '2'),
(32, '2019-11-09', '204', '5');

nampak seperti berikut,

Cara menggabungkan 3 tabel di mysql

dan

Cara menggabungkan 3 tabel di mysql

serta,

Cara menggabungkan 3 tabel di mysql

jadi data telah dimasukkan semua, sehingga kemudian kita ingin menggabungkan ketiga tabel itu sesuai kesamaan diantara ketiga tabel yakni melalui Field = NIPR (Nomer Induk PRoduk)

kemudian siapkan sebuah folder “grosir” yang berada di dalam folder “c:/xampp/htdocs>” menjadi “c:/xampp/htdocs/grosir>”

setelah itu copy lah koding berikut,

<?php
$kon = mysqli_connect('localhost','root','');
$link = mysqli_select_db($kon,"gudang") or die(mysqli_error());
?>

simpanlah dengan nama “db_connect.php” ke dalam folder “c:/xampp/htdocs/gudang>”. Kemudian juga copy lah koding berikut,

<?php
include "db_connect.php";
$query=mysqli_query ($kon, "SELECT * FROM tblproduk
JOIN tblsupp ON tblsupp.NIPR = tblproduk.NIPR
JOIN tbltransaksi ON tbltransaksi.NIPR = tblproduk.NIPR") or die (mysqli_error());
#$query=mysqli_query ($kon, "SELECT * FROM tbluser") or die (mysqli_error());#$RecordSet = mysqli_fetch_array($query);
echo "<html>";
echo "<body>";
echo "<br><table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bordercolor=\"blue\" bgcolor=\"white\">
<tr bgcolor='blue' height=\"30\"><font color='white'>
<th align='center'><font color='white' face='Arial' size=2>No</font></th>
<th align='center'><font color='white' face='Arial' size=2>NIPR</font></th>
<th align='center'><font color='white' face='Arial' size=2>Nama Produk</font></th>
<th align='center'><font color='yellow' face='Arial' size=2>Supplier Name</font></th>
<th align='center'><font color='yellow' face='Arial' size=2>Telpon</font></th>
<th align='center'><font color='yellow' face='Arial' size=2>Jumlah</font></th>
</tr>";
$j=0;
while ($row=mysqli_fetch_array($query)) {
echo "<tr><td align='left' bgcolor='#657FFF'>";
echo "<font face='Arial' size=1>";
echo $j+1;
echo"</font>";
echo"</td>";
echo "<td align='left' bgcolor='#E8D3DF'>";
echo "<font face='Arial' size=1>";
echo $row["NIPR"];
echo"</font>";
echo"</td>";
echo "<td align='left' bgcolor='#E8D3DF'>";
echo "<font face='Arial' size=1>";
echo $row["Nama"];
echo"</font>";
echo"</td>";
echo"<td align='left' bgcolor='#E8D3DF'>";
echo $row["Suppname"];
echo"</font>";
echo"</td>";
echo"<td align='left' bgcolor='#E8D3DF'>";
echo $row["Telpon"];
echo"</font>";
echo"</td>";
echo"<td align='left' bgcolor='#E8D3DF'>";
echo $row["Jumlah"];
echo"</font>";
echo"</td>";
echo"<td align='left' bgcolor='#E8D3DF'>";
$j++;
}
echo"</table>";
echo "</body>";
echo "</html>";

simpanlah dengan nama “index.php” ke dalam folder “c:/xampp/htdocs/grosir>”. Setelah itu bukalah Web browser (misal chrome atau mozilla) dan ketikkan alamat berikut,

http://localhost/grosir

maka akan muncul seperti berikut,

Cara menggabungkan 3 tabel di mysql

berhasil, jadi gabungan 3 tabel tadi telah bisa kita jadikan dalam satu tabel dengan NIPR (Nomor Induk PRoduk) sebagai acuan.

Lalu bagaimana membuat tampilan yang lebih mudah agar pengambil kebijakan bisa membuat suatu tindakan untuk proses bisnis di dalam gudang pada grosir tersebut? akan kita gunakan R untuk menganalisanya, Silahkan ikuti lanjutan dari makalah ini…

Terimakasih…

Apa yang digunakan untuk menghubungkan 2 atau lebih tabel dalam database?

Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah JOIN.

Apa itu inner join?

Inner join menggabungkan data dari dua tabel kapan pun ditemukan nilai mirip dalam bidang umum di kedua tabel.

Apa yang dimaksud dengan outer join?

Outer Join adalah bentuk kondisi join untuk mencari nilai join yang memenuhi dari kedua table, plus nilai yang tidak memenuhi dari salah satu sisi table tersebut.

Apa syarat agar inner join dapat digunakan pada relasi tabel?

Syarat untuk INNER JOIN adalah kedua tabel harus memiliki sebuah kolom dengan nilai yang sama. Kolom tersebut yang akan digunakan dalam proses JOIN. Pada contoh kita, kolom itu adalah kolom NIP dari tabel nama_dosen, dan kolom NIP_dosen dari tabel mata_kuliah.