Skip to main content

query between

May 12, 2010 by rhoalq

rhoalq's picture

master2 ci... saya mau tanya dunk... klo query between di ci bgmn?

misalkan, saya mempunyai 2 tabel...
tabel1 misalkan filednya : id_tabel1, id_tabel2, isi_tabel1, tanggal
tabel2 misalkan filednya : id_tabel2, isi_tabel2

dan yang saya mau tampilkan id_tabel1, isi_tabel1, isi_tabel2, tanggal

tapi, tanggalnya itu misalkan dr 2 buah inputan... contohnya : dari tgl 3 s/d 10, maka yg tampil dari tgl tersebut. itu bgmn yah... klo tdk salah sh.. pake between, tp d ci bgmn??

mohon bantuannya...!!!

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Belajar SQL

September 4, 2010 by Firu, 31 weeks 6 days ago
Comment: 7089

Firu's picture

Kalo kasusnya seperti ini sih jangan tanya di forum ini, Coba cari tau dulu soal syntax join. Belajar basic atau research dulu sebelum bertanya....

BLS:

May 12, 2010 by syabac, 48 weeks 2 days ago
Comment: 6851

syabac's picture

$sql = "SELECT t1.id_tabel1, t1.isi_tabel1, t2.isi_tabel2, t1.tanggal "
        . "FROM tabel1 t1 JOIN tabel2 t2 ON t1.id_tabel2=t2.id_tabel2 "
        .  "WHERE t1.tanggal BETWEEN DATE('2010/05/03') AND DATE('2010/05/10')";
return $this->db->query($sql)->result();

bila menggunakan Active Record

$this->db->select('t1.id_tabel1, t1.isi_tabel1, t2.isi_tabel2, t1.tanggal')
       ->from('tabel1 t1')
       ->join('tabel2 t2', 't1.id_tabel2=t2.id_tabel2')
       ->where("t1.tanggal BETWEEN DATE('2010/05/03') AND DATE('2010/05/10')", null, false);
 
return $this->db->get()->result();

tambahan sedikit.... kalo gak semua data tampil

May 12, 2010 by girista, 48 weeks 2 days ago
Comment: 6856

girista's picture

terkadang ada kesalahan data.. dmana semua data dari tabel t1 tidak tampil jika menggunakan join....

hal ini semata karena 't1.id_tabel2=t2.id_tabel2' tidak terpenuhi..
dan join hanya menampilkan yg memenuhi on clause tersebut...

sering saya mendapatkan pertanyaan ini dari teman2 saya.. kok gak semuanya muncul ya...

saya tinggal menambahkan parameter ketiga untuk join "left"
maka query nya akan menjadi left join, memungkinkan mereka untuk mengecek, data mana saja yang salah.

#### join('tabel2 t2', 't1.id_tabel2=t2.id_tabel2','left') ######

BLS:

May 13, 2010 by syabac, 48 weeks 1 day ago
Comment: 6861

syabac's picture

Itu tergantung data yang ingin diretrieve seperti apa.
kalo memang mengambil semua data yang memenuhi kondisi JOIN tanpa melihat apakah ada data yang NULL atau tidak, tinggal jadikan LEFT JOIN.

Jadi, gunakan sesuai kebutuhan saja..

Premium Drupal Themes by Adaptivethemes