fetch database guna join
Korang dalam tengah buat2 system, mesti ada masa korang terpaksa untuk guna 2 atau lebih database dalam satu masa. sebagai contoh, korang nak buat senarai student yang mana mungkin korang kene juga select data daripada table yang berlainan. so sekarang aku nak ajar korang camne nak select table lebih dari satu.
kenapa aku buat topic fetch database guna nested loop pada topic tu walhal fetch table yang aku nak ajar ni ada 2 cara, iaitu korang boleh guna join dan korang boleh guna nested loop seperti yang aku akan tunjukkan jap lagi.
so untuk cara yang mudah. sebagai contoh korang ada table student(ukno), asrama(ukno,nobilik), kursus(kodkursus), pendaftaran(ukno, kodkursus). semua yang dalam kurungan adalah primary key dan foreign key yang terlibat (kalau tak tau apa tu primary key dan foreign key, sila buat carian melalui google)
so korang nak select pelajar yang mengambil kursus TMK4201
bila nak melakukan carian pelajar yang mengambil kursus TM4201, ia mungkin tidak menjadi masalah apabila hanya memerlukan penggunaan “join” sahaja seperti contoh dibawah :
nota: aku hanya akan menggunakan kaedah jsp dan java dalam setiap coding dibawah dan coding yang aku gunakan adalah mempunyai perkaitan dengan tutorial jsp yang lepas aku post.
<head><jsp:useBean id=”data” class=”mysql.mysql”/></head> //create satu object data menggunakan class dalam package mysql dan bernama mysql
data.ConnectionDB(“jdbc:mysql://localhost/temuduga”,”root”,”root”); // sambung kepada database
ResultSet rs = data.ExeD(“SELECT * FROM student s, pendaftaran p WHERE p.nouk=s.nouk and p.kodkursus=’TMK4201”” );
int bil = 1;
if(rs.next()){
do{
out.println(“no “+bil);
out.println(rs.getString(“s.namaPelajar”));
out.println(rs.getString(“s.nouk”));
out.println(rs.getString(“p.kodkursus”));
bil++;
}while(rs.next());
so tu untuk simple fetch lah.. untuk guna nested loop bila masalah korang yang perlu fetch daripada table yang tak berkait dengan table yang korang sedang fetch, tapi kene jugak fetch (entah ape-ape ayat aku ni) nanti aku tunjukkan lain kali. penyelesaian tu aku pecah kepala sampai sminggu nak cari penyelesaian dia.
Related posts:
Leave a comment
bagi aku join adalah penting untuk buat system yang lebih kompleks
kalau tak payah nak gabung dua table kalau tak tahu
TMUkmkd
29 January 2010
jap lupa nak tulis. apa yang ko buat sampai kene fetch table yang tak berkaitan tu? pelik seh
TMUkmkd
29 January 2010
pelik?takde pelik pun.. kalau aku terang mu dok faham jgk. matching subjective question dengan objective question yang di jawab. so aku nak check jawapan objective, kalau jawapan dia betul baru subjective question under dia akan dia papar. linking antara subjective and objective ni dari parent objective, tapi macam mana aku nak check jawapan daripada objective tadi kalau tak select dan compare dulu dengan table jawapanl?. pas compare dengan table jawapan kalau betul, baru boleh fetch dari table subjective. ke guane mu rasa?
mungkin aku kurang buat system kot, tu kurang sket pandai gune join ni..
h@fr|z
31 January 2010
abg hafriz.. kalo utk attributes plak ???
ney die join antara table kan??
hajar nak yg attributes..
thanx
hajar
15 March 2010
erk, utk attribute? dia takde join lah dik non.. once u select. kalau hajar select all/select * bermaksud hajar dah select semua attribute dalam table tersebut.
so after that once you create a resultSet value. just fetch it using rs.next() then rs.getString(“attributename”) .
if you use join table.. for example just select * table1 t1, table2 t2 WHERE t1.id=t2.id;
while(rs.next){
out.println(rs.getString(“t1.attributenamefromt1″);
out.println(rs.getString(“t2.attributenamefromt2″);
}
but first of all u either must use connection db and how to execute query. u are using whose mysql object class?
meet me anytime, inform me, i will give you out what i planned to give. also tell kuno. i heard she also want this coding.
thanks
hafriz
15 March 2010