Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-11-05 Terurut Topik raf raf
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



Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-11-05 Terurut Topik Rizky Prasetya

Kalau ada entry material baru gimana? rubah code?



--
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



Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-11-05 Terurut Topik raf raf
ya :)
Dan jika anda perhatikan thread ini, solusi2
sebelumnya juga belum support variable material baru.

Anyway, solusi utk itupun bisa dikerjakan di phpnya,
yaitu dengan lebih dulu melakukan query:
SELECT DISTINCT kode FROM table;
baru kemudian query yang tadi disusun lagi oleh phpnya
berdasarkan DISTINCT kode.

Atau ada juga alternatif lain, querynya diganti aja
jadi:

SELECT
kode,
GROUP_CONCAT( material, qty )
FROM table
GROUP BY 1;

Tapi tetap masih harus diolah sedikit di phpnya lo.
Btw, fungsi GROUP_CONCAT baru available di mysql 4.1.
Baca manualnya.

Regards,

rafik


--- Rizky Prasetya [EMAIL PROTECTED] wrote:

 Kalau ada entry material baru gimana? rubah code?


__
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



Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-11-05 Terurut Topik Popo
On Mon, Nov 05, 2007 at 01:36:30AM -0800, raf raf wrote:
 Mungkin nanyanya harusnya ke milis mysql, bukan milis
 php :) .

milis mysql di Indonesia yang ramai apa mas ? bisa sharing email
subscribe nya.tks.


This e-mail message may contain legally privileged and/or confidential 
information. If you are not the intended recipient(s), or the employee or agent 
responsible for delivery of this message to the intended recipient(s), you are 
hereby notified that any dissemination, distribution or copying of this e-mail 
message is strictly prohibited. If you have received this message in error, 
please immediately notify the sender and delete this e-mail message from your 
computer.

-- 
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



Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-10-26 Terurut Topik yo2k
On 10/26/07, Popo [EMAIL PROTECTED] 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





coba membantu ya...
ini perintah-nya :

+ (ganti nama field dengan type data tetap)
alter table nama_table change material qty_material_a xxx;
- xxx = nama type data

+ (ganti type data dengan nama field tetap)
alter table nama_table change material material xxx;
- xxx = nama type data
atau
alter table nama_table modify nama_field bigint not null;

alter biasanya dipergunakan u/merubah type data / nama field dll.


yang mau nambahi / koreksi silahkan...

-- 
Salam hormat,


yo2k

-- 
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



Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-10-26 Terurut Topik Popo
On Fri, Oct 26, 2007 at 01:51:40PM +0700, yo2k wrote:
 On 10/26/07, Popo [EMAIL PROTECTED] 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
 
 
 
 
 
 coba membantu ya...
 ini perintah-nya :
 
 + (ganti nama field dengan type data tetap)
 alter table nama_table change material qty_material_a xxx;
 - xxx = nama type data
 
 + (ganti type data dengan nama field tetap)
 alter table nama_table change material material xxx;
 - xxx = nama type data
 atau
 alter table nama_table modify nama_field bigint not null;
 
 alter biasanya dipergunakan u/merubah type data / nama field dll.
 
 
 yang mau nambahi / koreksi silahkan...
 
 -- 
 Salam hormat,
 
 
 yo2k
 
 -- 
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



This e-mail message may contain legally privileged and/or confidential 
information. If you are not the intended recipient(s), or the employee or agent 
responsible for delivery of this message to the intended recipient(s), you are 
hereby notified that any dissemination, distribution or copying of this e-mail 
message is strictly prohibited. If you have received this message in error, 
please immediately notify the sender and delete this e-mail message from your 
computer.

-- 
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



Re: [tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-10-26 Terurut Topik Bambang Sumitra

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.
  
kalau menurut saya yang lebih enak itu di export dulu datanya dengan 
cara di group misal

select kode,
( select sum(qty) from test1 where material = 'a' and kode = a.kode),
( select sum(qty) from test1 where material = 'b' and kode = a.kode)
from test a
group by kode

setelah data di export table lama di drop dan buat table baru sesuai 
hasil eksport dan hasil eksport tsb tinggal di load ke table baru



--
salam,
Bambang Sumitra
http://www.situsqta.net


--
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



[tanya-jawab] OOT : perintah SQL untuk merubah bentuk tabel

2007-10-25 Terurut Topik Popo
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



This e-mail message may contain legally privileged and/or confidential 
information. If you are not the intended recipient(s), or the employee or agent 
responsible for delivery of this message to the intended recipient(s), you are 
hereby notified that any dissemination, distribution or copying of this e-mail 
message is strictly prohibited. If you have received this message in error, 
please immediately notify the sender and delete this e-mail message from your 
computer.