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. Continue reading ‘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.

Continue reading ‘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)

    Continue reading ‘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.




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

Tanggalan

Mei 2012
S S R K J S M
« Jul    
 123456
78910111213
14151617181920
21222324252627
28293031  

Community


Ikuti

Get every new post delivered to your Inbox.