Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Query dua tabel? [Terjawab]

mau menanyakan query penggabungan data dua tabel..

jadi misalkan ada dua tabel

1. tb_trans
- nama_barang
- tgl
- bayar

2. tb_trans_backup
- nama_barang
- tgl
- bayar

secara langsung setiap transaksi disimpan di tabel tb_trans. terus setiap sebulan sekali data di backup ke tb_trans_backup untuk mempercepat proses transaksi.

masalahnya jika ada laporan semisal mulai tgl 12-08-2008 smp 12-10-2008 brati kan data harus mengambil dari dua tabel berdasar tgl tersebut.
yang mau saya tanyakan bagaimana proses query nya...

terima kasih

Comments

  • hmm???

    backup ya backup, ga usah dilibatkan dalam proses.
    Dilibatkan jg buat apa karena tb_trans_backup isinya kurang dibandingkan tb_trans (karena diisi sebulan sekali)
  • saya tidak mau membahas, apakah tabelmu strukturnya dah benar/tidak. untuk menghubungkan 2 tabel/leebih, terlebih dahulu hrs ada kunci/field penghubung 2 tabel. contoh query :

    SELECT * FROM tb_trans,tb_trans_backup WHERE tb_trans.id=tb_trans_backup.id AND tb_trans.tgl BETWEEN 2008-09-10 AND 2008-10-10;
  • Ya query ke tabel backup-nya saja.
  • saya juga bingung....

    pada dasarnya semua transaksi disimpan di tb_trans.. nah setiap sebulan sekali data di backup ke tb_trans_back yang mempunyai field sama dng tb_trans. di backup karena data tidak boleh dihapus. sedangkan kalo tetep di tb_trans proses trans bis alambat, karena setiap hari bisa sampe nambah 1000an record..

    nah menghubungkan tabelnya karena ada kemungkinan melihat laporan yang datanya masih berada pada kedua tabel tersebut..

    demikian, mungkin ada pencerahan
  • hmm, faktanya, klo desainnya bener, mau jumlah recordnya 10,100,1000, sejuta juga ga ada perbedaan kecepatan yg berarti.
    1000 sehari itu sedikit lho...

    Saran :
    1. backup itu harus, tp jgn ke tabel lain. Mending didump aja
    2. data yg dibackup ga usah dihapus. ga bikin lambat kok. klo lambat, berarti desain tabelmu salah (ga pake index misalnya)
  • yang foreign key disitu yg mana, kok kedua kunci pada kedua tabel primary key semua ?
  • Biasa PK auto increment itu untuk tabel master. Kalau hubungan 1 ke banyak saya rasa nggk perlu.
  • Mungkin tabel nya gini saja

    tb_trans
    - no_nota (PK)
    - tgl (date time)
    - id_kasir

    tb_detail_trans
    - no_nota
    - kode_barang
    - jumlah
    - harga
    - laba
  • bagaimana kalo di tb_trans detail ditambah
    - id_trans (PK)

    karena di tabel ini bisa terdapat beberapa record dgn no_nota yang sama
  • mungkin maksudmu foreign key (FK), ya klo begitu, boleh saja. jadinya query dihubungkan berdasarkan id_trasn.

    WHERE t_trans.id_trans=t_trans_backup.id_trans
  • untuk scema di tb_trans diantaranya sbg berikut
    - id_trans (PK) auto incresment
    - nota
    - kode_barang
    - tgl
    - jam
    - jumlah
    - harga
    - laba
    - kasir

    Kan transaksi di kelompokan dalam satu nota. Terasa beratnya disaat trans adalah saat trans yang pertama harus "select nota from tb_trans order by nota desc limit=1" untuk mendapatkan nilai terakir nota brp gt kemudian ditambah 1 untuk no nota trans skrg. karena semua data berada dalam tb_trans maka sekarang terasa berat.

    bisa menolong ndak kalo ditambah table tb_nota yang isinya
    - no_nota (PK) auto incresment
    - tgl
    - jam
    - kasir

    dan tb_trans menjadi
    - id_trans (PK) auto incresment
    - nota
    - kode_barang
    - jumlah
    - harga
    - laba

    jadi saat mencari kondisi nota terakir melihat dari tb_nota

    atau mungkin ada solusi laenya...
  • id_trans cukup di tb_detaik_trans saja. untuk memudahkan jika menghapus ato edit gt...

    terus masalahnya misalkan no_nota 123 ada trans kode_brg 555. nah masih dalam nota yang sama ada trans lagi dng kode_brg 555 jg. trs trans kode_brg 555 yg kedua tdk menjadi record baru, tapi ngedit record kode_brg 555 di nota 123 dengan menambahkan jumlah brg.

    kalo masalahnya seperti ini jadi kan setiap kali trans mesti select * from tb_detail_trans yang nota dan kode_brg sama. kalo kasus seperti ini apa tdk berat saat transaksi nya??

    mungkin ada solusi laen nya
  • Lah kok data historis transaksi bisa di edit? Kan kalau sudah disimpan di tabel masa bisa dirubah?
  • mas kalo tidak di update, terus untuk mengatasi transaksi yang sama kode_brg sama dalam satu nota gmn?
    kejadian di lapangan kan misal nya ada yang beli buku A 3 biji, tapi kadang kasir waktu trans tidak merubah jmlh menjadi 3. tapi langsung semua buku tersebut di baca barcode satu2

    contohnya gini
    latansa.jpg
  • wah ya bukan gitu caranya. Harusnya ada antisipasi klo kasir pake barcode satu-satu.

    Cek kalo kode barang sudah pernah dimasukkan, jumlahnya ditambah satu.
  • Kejadian diatas kan pada saat transaksi? Nah saat itu data disimpan sementara di tabel temporer atau array session lah. Nah baru di bagian itu kasir bisa merubah-ubah. Jika sudah bayar baru disimpan ke tabel transaksi. Dan ini nggk bisa dirubah lagi. Jika masih salah harus dihapus dan input ulang.
  • Ya kalau bisa diedit kan nggk cocok sama pendapatanya nanti. Misalkan ada kasir yang merubah data penjualan, bisa beda nanti pada saat audit.

    Untuk tb_temp struturnya

    id(PK,AutoIncrement), id_kasir, kode_brg, jumlah
  • hiks... yang ada saat ini saat trans langsung di simpan di tb_trans jadi mesti nyari jika ada kode yang sama, kalo ada di edit. terus karna record banyak jadi lambat. Saat kasir nyimpan cuman membersihkan tampilan di layar...

    jadi harus buat table satu lagi buat temp ya... terus saat kasit simpan datanya di pindah ke tb_detail_trans yah...

    kira2 desain tb temp nya gimana yah???
  • terima kasih pak bos...
    semoga menjadi amalnya ;)
Sign In or Register to comment.