The important part of an INNER join is that if no matches are found,
no results are created.
Jadi, jangan pakai INNER yah :) Pakainya LEFT join.

==============
SELECT siswa.nama AS nsis, kategori.nama AS nkat, skill.nama AS
nskill, siswa_skill.nilai AS nilai FROM siswa LEFT  JOIN siswa_skill
ON siswa.id = siswa_skill.siswa LEFT  JOIN skill ON siswa_skill.skill
= skill.id LEFT  JOIN kategori ON kategori.id = skill.kategori
==============

Selamat menikmati ;)

Result: (sudah ditambah siswa id 3, nama dono)

 nsis             nkat            nskill          nilai
Andi    IPA     Matematika      3
Andi    IPA     Fisika  4
Doni    IPA     Matematika      1
Doni    Bahasa  Bahasa
Inggris         5
Dono    NULL    NULL    NULL

On 7/28/05, edhy ndjr <[EMAIL PROTECTED]> wrote:
> coba apakah bisa kalo querynya seperti ini...
> 
> ======================================================
> 
> SELECT siswa.nama as nsis, kategori.nama as nkat,
> skill.nama as nskill, siswa_skill.nilai as nilai
> FROM kategori INNER JOIN skill ON kategori.id =
> skill.kategori INNER JOIN siswa_skill ON
> siswa_skill.skill = skill.id INNER JOIN siswa ON
> siswa.id = siswa_skill.siswa WHERE siswa.id = 1
> 
> ======================================================
> Semoga berhasil...
> --- LuckyGuy354 <[EMAIL PROTECTED]> wrote:
> 
> > Nanya lagi ahh =)
> >
> > Ini pakai MySQL 4.0.23-nt.
> >
> > Misalnya ada 3 tabel.
> > Tabel SISWA berisi data siswa
> > Tabel SKILL berisi kemampuan siswa
> > Tabel KATEGORI berisi kategori dari skill-skill itu
> > Tabel SISWA_SKILL berisi skill-nya siswa (karena
> > tiap siswa punya skill
> > lebih dari 1, makanya dibuat di tabel trpisah)
> >
> > Fieldnya begini :
> > SISWA(id,nama) PRIMARY id
> > SISWA_SKILL(siswa,skill,nilai) PRIMARY
> > id_siswa,id_skill. Nilai berisi
> > 1-5.
> > SKILL(id,kategori,nama) PRIMARY id
> > KATEGORI(id,nama) PRIMARY id
> >
> > Kalau saya hanya ingin menampilkan data yang ada
> > untuk salah satu siswa
> > dengan data yang dibutuhkan adalah
> >
> > nama siswa, kategori, skill, dan nilainya
> >
> > bisa dengan begini:
> >
> > SELECT siswa.nama nama, kategori.nama kategori,
> > skill.nama skill,
> > siswa_skill.nilai nilai FROM kategori, siswa,
> > siswa_skill, skill WHERE
> > siswa.id = siswa_skill.siswa AND siswa_skill.skill =
> > skill.id AND
> > skill.kategori = kategori.id AND siswa.id=1
> >
> > atau begini:
> >
> > SELECT siswa.nama nama, kategori.nama kategori,
> > skill.nama skill,
> > siswa_skill.nilai nilai FROM kategori JOIN siswa
> > JOIN siswa_skill JOIN skill
> > ON siswa.id = siswa_skill.siswa AND
> > siswa_skill.skill = skill.id AND
> > skill.kategori = kategori.id AND siswa.id=1
> >
> > Masalahnya, kalau dengan cara seperti itu, data-data
> > yang NULL tidak iklut
> > tampil. Maunya saya, semua skill, kategori, beserta
> > nilainya tampil,
> > walaupun nilainya NULL. Gimana caranya ya? Pakai
> > RIGHT JOIN & LEFT JOIN
> > nggak bisa lebih dari dua tabel Walaupun di masukkan
> > dalam tanda kurung,
> > tetep aja nggak bisa, cuma JOIN yang bisa dimasukkan
> > dalam tanda kurung.
> >
> > Sebelumnya, terima kasih banyak atas jawabannya.
> 
> 
> 
> 
> 
> 
> 
> ___________________________________________________________
> Yahoo! Messenger - NEW crystal clear PC to PC calling worldwide with 
> voicemail http://uk.messenger.yahoo.com
> 
> 
> ---
> Website: http://toekangweb.or.id/
> Arsip milis : http://groups.yahoo.com/group/toekangweb/messages
> 
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
>


--- 
Website: http://toekangweb.or.id/
Arsip milis : http://groups.yahoo.com/group/toekangweb/messages
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/toekangweb/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Kirim email ke