Arsip untuk Kategori 'My SQL'

21
Jan
09

LEFT OUTER JOIN dua tabel dengan lebih dari satu kondisi

Hui panjang bener yak judulnya hehehe… Habis kagak nemu judul yg lebih singkat gitu. Biar aq ato temen-temen yg lain mudah buat carinya.

Ow iya, ini tulisan aq tentang gimana bikin LEFT OUTER JOIN dari dua tabel tapi dengan beberapa kondisi yang berbeda, seperti contohnya kita mau ambil data dari dua tabel yang memiliki id dan judul sama misalnya. Sebagai studi kasus aq, tadi aq mau ambil data dari database DetailTransaksi dan DetailKembali yang memiliki kesamaan TransaksiId dan BukuId. Lanjutkan membaca ‘LEFT OUTER JOIN dua tabel dengan lebih dari satu kondisi’

03
Des
08

ERROR 1036: Table ‘table name’ is read only

Diantara temen-temen pasti pernah mengalami hal dimana ketika kita berganti mesin penyimpanan data mysql tiba-tiba tabel tidak dapat diisi. Padahal ketika kita jalankan di mesin lain tidak ada masalah dengan proses penyimpanan pada program kita. Ada kemungkinan bahwa database kita menjadi read only dimana kita tidak dapat melakukan perubahan pada database kita atau bisa juga tidak ada masalah dengan database melainkan hanya pada tabel-tabel tertentu saja.

Lalu bagaimana kita tau kalau tabel dalam database kita read only? Caranya kita debug program kita sehingga muncul query mysql yang akan diexecute dan kita jalankan langsung melalui program mysql, baik melalui command prompt alias layar item (jadul tapi lebih asyik :D ) atau bisa pake yang GUI kayak MySQL Front ato MySQL Query Browser, bisa juga kita mencoba jalankan command insert, update ataupun delete meski bukan dari query program kita. Setelah kita jalanin command mysql tersebut, jika keluar error ERROR 1036: Table ‘table name’ is read only berarti tabel tersebut beratribut read only.

Ko bisa gitu?

Error tersebut terkadang terjadi karena kita berganti mesin penyimpanan data mysql dan data yang akan kita restore berupa dumping file sedangkan didalam mesin tersebut terdapat database yang sama dengan source yang akan kita restore. Akibatnya database akan tereplace. Hal itu bisa menyebabkan error terjadi.

Lanjutkan membaca ‘ERROR 1036: Table ‘table name’ is read only’

03
Des
08

Primbon MySQL-ku

Iseng-iseng aja pengen nulis diblog tapi gak ada ide yaudah aq tulis nih primbon sekalian buat belajar kalo nanti lupa. Sebenernya aq nda bakat jadi guru, susah nerangin ya jadinya gini deh. Semoga aja bermanfaat. Pasti akan terus diupdate berdasarkan pengalaman.

  1. Menampilkan RFQId, ProjectCode, ProjectName, EndUserName dan InstitutionName dimana RFQDetail sudah diapprove dan override score tidak ada yang bertipe veto (4)

    Select RFQ.RFQId, ProjectCode, ProjectName, EndUserName, InstitutionName FROM RFQ Left Outer Join RFQDetail ON RFQDetail.RFQId = RFQ.RFQId Left Outer Join EndUser ON EndUser.EndUserId = RFQ.EndUserId LEFT OUTER JOIN BidMaster ON BidMaster.RFQId = RFQ.RFQId WHERE (RFQ.Deleted = 0) AND (RFQDetail.Approve = 1) AND RFQ.RFQId not in (select bidmaster.RFQId from bidmaster where bidmaster.deleted = 0) AND RFQ.RFQId not in (select RFQOverrideScore.RFQId from RFQOverrideScore where OverrideType = 4) AND (ProjectName like ‘%smk%’ or ProjectCode like ‘%smk%’ or InstitutionName like ‘%smk%’);

  2. Hasilnya sebagai berikut :
    +——-+————-+————-+——————+—————–+
    | RFQId | ProjectCode | ProjectName | EndUserName      | InstitutionName |
    +——-+————-+————-+——————+—————–+
    |    11  | ABC            | SMK Tender  | SMKN 1 Purwosari | SMK Purwosari  |
    +——-+————-+————-+——————+—————–+
    1 row in set (0.08 sec)

    Lanjutkan membaca ‘Primbon MySQL-ku’

26
Mei
08

Menjumlahkan Data yg ada di dalam Record-Record Tabel

Terkadang kita merasa kesulitan untuk melakukan perhitungan data pada record-record yang mana data tersebut tidak bias kita tentukan berapa jumlah data yg akan dihitung. Misal di dalam table tersebut hanya terdapat 2 data, dengan mudah kita dapat melakukan perhitungan karena jumlah data yg akan dihitung sudah kita ketahui jumlahnya. Maka untuk melakukan perhitungan tersebut kita hanya perlu menuliskan data1 + data2. Dengan begitu kita sudah dapat menemukan hasilnya. Lalu bagaimana cara untuk melakukan perhitungan jika data yg akan kita hitung tidak diketahui berapa jumlahnya seperti kasus berikut ini :

Sintaks Select Table

Dari kasus di atas kita harus menentukan berapa jumlah omset berdasarkan AreasCode, sedang data di dalam record dapat berubah sewaktu-waktu.

Untuk menyelesaikan kasus tersebut, ada sua cara yang dapat ditempuh. Cara yang pertama adalah dengan SQL statement dan yg kedua adalah dengan menggunakan perulangan. Mari kita bahas satu persatu.

1. Perhitungan dengan SQL Statement

Cara yang pertama ini merupakan cara yang paling mudah dan sederhana, yaitu dengan menggunakan SQL Statement

Sintaks yang dibutuhkan adalah sebagai berikut :

mysql> select AreasCode, sum(Omset) from Omset GROUP BY AreasCode;

Hasil dari Sitanks Sum()

Dengan sintaks tersebut kita sudah mendapatkan hasil dari kasus sebelumnya, dan jika sewaktu-waktu data berubah, bertambah atau berkurang maka secara otomatis data di dalam field sum(Omset) akan berubah pula.

Penjelasan dari sintaks di atas adalah :

    • select AreasCode, sum(Omset) from Omset GROUP BY AreasCode;
    • select AreasCode, sum(Order) adalah field yang akan ditampilkan.
    • sum(Omset) adalah field yang dijumlah. Untuk mendapatkan hasil penjumlahan dari suatu field, kita cukup menggunakan sintaks sum(nama field)
    • from Omset merupakan nama database dimana data yang akan kita select itu berada.
    • GROUP BY AreasCode merupakan sintaks untuk melakukan perhitungan berdasarkan pengelompokan field dengan AreasCode yang sama. Sintaks ini dapat pula dihilangkan jika field yang ditampilkan hanya satu yaitu hasil perhitungan field serta tidak memiliki dasar pengelompokan dalam penjumlahannya,

misal select sum(Omset) from Omset;

hasilnya :

mysql> select sum(Omset) from omset;

Hasil dari Sintaks

Dengan sintaks Sum(), kita bukan hanya dapat melakukan penjumlahan saja, kita juga dapat melakukan perhitungan aritmatika lainnya, bahkann perhitungan antar tabel.




Pulsa Murah

Kata-kata Bijak

"Prasangka kita kepada orang lain secara tidak langsung adalah cerminan dari diri kita sendiri"

"Buktikan kemampuanmu dengan otak dan ototmu, jangan dengan mulutmu"

"Ketidakpahaman menyebabkan keragu-raguan"

Aturan Maen


JANGAN ASAL COPY-PASTE karena BLOG JUGA ADALAH HASIL KARYA CIPTA. Biasakan untuk meminta ijin kepada pemilik karya atau paling tidak menyebutkan sumber asal. Hitung-hitung bersilaturahmi dan memperluas pergaulan, bukan?

Curhat on Twitter

  • Qt gak selevel, aq paham. Jadi klo qt brsaing bakal g imbang!----------1 month ago
  • Pesen mas, ilmunya buat adek dw!----------1 month ago
  • Aih sombongnya. Baru juga bisa bikin program "hello word" aja!----------1 month ago
  • Di madiun,bus pecah ban. Alhamdulillah masih slamat...----------1 month ago
  • Posting twitter lewat nimbuzz. Abis dipost status dihapus----------2 months ago

Tanggalan

November 2009
S S R K J S M
« Jul    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Community