Posted by Nadia Putri Karisya (Admin) On April - 20 - 2011 3 Comments 6,378 views

Ide simplenya begini, misalkan saya punya satu field data (sebut saja dia field kembang) di tabelA, ingin dipindahkan ke field di tabelB (kita sebut dia bunga). Nah, data di tabelA.kembang ini akan kita pindahkan/salin/copy/update ke tabelB.bunga. Tentu mereka punya relasi yang berhubungan, kita sebut id_data.

Untuk caranya, bisa dicoba di 4 RDBMS, yaitu DB2, oracle, sql server dan mysql. Mari kita lihat.
Query di DB2 :

UPDATE tabelB
SET bunga = (SELECT kembang from tabelA WHERE tabelA.id_data = tabelB.id_data)
WHERE EXISTS (SELECT 1 from tabelA WHERE tabelA.id_data = tabelB.id_data);

Query di Oracle (sama dengan DB2) :

UPDATE tabelB
SET bunga = (SELECT kembang from tabelA WHERE tabelA.id_data = tabelB.id_data)
WHERE EXISTS (SELECT 1 from tabelA WHERE tabelA.id_data = tabelB.id_data);

atau (query Oracle dengan update lebih dari satu field)

UPDATE tabelB b
SET (kembang, daun, batang) =
(SELECT a.kembang, a.daun, a.batang FROM tabelA a WHERE a.id_data = b.id_data)

Query di SQL Server :

UPDATE tabelB
SET bunga = tabelA.kembang
FROM tabelB, tabelA
WHERE tabelA.id_data = tabelB.id_data
GO

Untuk MySQL, ada dua cara mudah untuk melakukan hal ini.
Pertama :

UPDATE tabelA a, tabelB b
SET bunga = kembang
WHERE b.id_data = a.id_data;

Yang kedua, kita pake fungsi join :

UPDATE tabelA a
LEFT JOIN tabelB b ON (b.id_data = a.id_data)
SET bunga = kembang;

Silahkan dicoba, feedback sangat ditunggu icon smile SQL : Update table dari table lain .

 

 









Related posts:

  1. Oracle : System Query Untuk Mendapatkan Informasi Objek Database Oracle
  2. SQL : LIMIT and OFFSET SQL Pagination
  3. SQL Server : Date Format
  4. Oracle : Membuat salinan tabel
  5. DB2 : Paging row

3 Responses so far.

  1. adi says:

    kalau boleh tanya cara untuk menginsert ke suatu table dimana isinya didapat dari semua record dari tabel lain?

    terimakasih infonya

    • kayak copy table gitu mas?? cara gampangnya sih begini

      CREATE TABLE TABEL_TUJUAN SELECT * FROM TABEL_SUMBER;

      itu cara yang paling sederhana mas..kalo misalnya TABEL_TUJUAN udah ada isinya, tinggal ganti aja querynya, jadi begini

      INSERT INTO TABEL_TUJUAN SELECT * FROM TABEL_SUMBER;

      pas di-select juga bisa join beberapa tabel kok :)

  2. sloui says:

    membantu banget ini om..
    terima kasih ya….


*