Popo <[EMAIL PROTECTED]> wrote:
  On Fri, Oct 26, 2007 at 01:51:40PM +0700, yo2k
wrote:
> On 10/26/07, Popo wrote:
> > pagi milis :)
> > mau nanya, misalnya aku punya tabel spt berikut :
> > ------------------------------------
> > | kode | material | qty |
> > ------------------------------------
> > | 1001 | a | 1 |
> > | 1001 | b | 2 |
> > | 1003 | a | 5 |
> > ------------------------------------
> > ingin kurubah menjadi seperti dibawah ini :
> >
---------------------------------------------------
> > | kode | qty material a | qty material b |
> >
---------------------------------------------------
> > | 1001 | 1 | 2 |
> > | 1003 | 5 | 0 |
> >
---------------------------------------------------
> > perintah sql nya di mysql bagaimana ya ? atau
kalau misalnya
mencari di
> > paman google, keywordnya bagaimana ?
> > demikian, terima kasih sebelum dan sesudahnya.
> >
> > salam,
> > Popo Haryadi
> >
> >
> >
> 
> 
maaf tampaknya aku salah nulis ya :)
2 tabel diatas adalah 2 tabel berbeda, tampilan
awalnya seperti tabel
yg
pertama, kemudian ingin kutampilkan ke web seperti
tabel yg kedua.
sekedar sharing aja, udah ada jawaban dari milis PHP
sbb :

sorry 4 the first i sent...it's still got wrong


select distinct master.kode, ifnull(`qty material
a`,0)`qty material
a`,ifnull(`qty material b`,0)`qty material b` from
tbla master
left join ( select kode,sum(qty) `qty material a` from
tbla where
material = 'a' group by 1 )tbla on master.kode =
tbla.kode
left join select kode,sum(qty) `qty material b` from
tbla where
material
= 'b' group by 1)tblb on master.kode
= tblb.kode

jika ada yang mau menambahkan silahkan :)
terima kasih sebelum dan sesudahnya.

salam,
Popo Haryadi

Sebelumnya,
  
"left join select kode"
mestinya
"left join (select kode"
begitu kan?
   
hmm.. saya lihat, query itu kurang efisien karena
server jadi harus nge-cache tabel yang sama tiga kali
dan masih pula harus melakukan join all records.
Mungkin nanyanya harusnya ke milis mysql, bukan milis
php :) .
   
Anyway, begini jauh lebih efisien:
SELECT
kode,
SUM( IF(material='a', qty, 0) ) AS qty_material_a,
SUM( IF(material='b', qty, 0) ) AS qty_material_b
FROM table
GROUP BY 1

  
regards,
   
Rafik


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-- 
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis

Kirim email ke