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