Saya ingin menyalin data dari satu kolom ke kolom lain dari tabel lain. Bagaimana saya bisa melakukan itu?
Saya mencoba yang berikut ini:
Update tblindiantime Set CountryName =(Select contacts.BusinessCountry From contacts)
tapi tidak berhasil.
Saya ingin menyalin kolom "BusinessCountry" dari tabel kontak ke kolom "CountryName" dari tabel tblindiantime.
Jawaban:
Di SQL Server 2008 Anda dapat menggunakan pemutakhiran banyak tabel sebagai berikut:
UPDATE tblindiantime SET tblindiantime.CountryName = contacts.BusinessCountry FROM tblindiantime JOIN contacts ON -- join condition here
Anda memerlukan kondisi gabungan untuk menentukan baris mana yang harus diperbarui.
Jika tabel target saat ini kosong maka Anda harus menggunakan INSERT sebagai gantinya:
INSERT INTO tblindiantime (CountryName) SELECT BusinessCountry FROM contacts
sumber
Berikut pertanyaannya:
Tabel yang Sama:
UPDATE table_name SET column1 = column2
Tabel yang berbeda:
UPDATE table_name1 SET column1 = ( SELECT column2 FROM table_name2 WHERE table_name1.id = table_name2.id );
sumber
Tabel2.Column2 => Tabel1.Column1
Saya menyadari pertanyaan ini sudah tua tetapi jawaban yang diterima tidak berhasil untuk saya. Untuk calon karyawan Google, inilah yang berhasil bagi saya:
UPDATE table1 SET column1 = ( SELECT column2 FROM table2 WHERE table2.id = table1.id );
Dimana:
sumber
[Michael Pakhantsov]
Harap Anda memiliki bidang kunci dua tabel.
UPDATE tblindiantime t SET CountryName = (SELECT c.BusinessCountry FROM contacts c WHERE c.Key = t.Key )
sumber
ORA-01427: single-row subquery returns more than one row
jika pilih mengembalikan lebih dari satu baris, bagaimana jika saya ingin memilih lebih dari satu baris dan memperbarui kolom dengan nilai-nilai ini?WHERE
. Misalnya, jika tblindiantime memiliki fieldContactID
, yang merupakanID
bariscontacts
yang dimiliki oleh setiap baris dalam tblindiantime, maka Anda akan menggunakanWHERE tblindiantime.ContactID=contacts.ID
. Lihat jawaban cedrikdlb untuk variasi lain.Jawaban pertanyaan serupa bekerja lebih tepat bagi saya daripada jawaban pilihan pertanyaan ini (oleh Mark Byers). Menggunakan jawaban Mark, kolom saya yang diperbarui mendapatkan nilai yang sama di semua baris (mungkin nilai dari baris pertama yang cocok dengan gabungan). Menggunakan jawaban ParveenaArora dari utas lain memperbarui kolom dengan nilai yang benar.
Mengubah solusi Parveena untuk menggunakan nama tabel dan kolom pertanyaan ini, kueri akan menjadi sebagai berikut (di mana saya menganggap tabel terkait melalui tblindiantime.contact_id):
UPDATE tblindiantime SET CountryName = contacts.BusinessCountry FROM contacts WHERE tblindiantime.contact_id = contacts.id;
sumber
Saya pikir semua jawaban sebelumnya benar, kode di bawah ini sangat valid terutama jika Anda harus memperbarui beberapa baris sekaligus, catatan: ini PL / SQL
DECLARE CURSOR myCursor IS Select contacts.BusinessCountry From contacts c WHERE c.Key = t.Key; --------------------------------------------------------------------- BEGIN FOR resultValue IN myCursor LOOP Update tblindiantime t Set CountryName=resultValue.BusinessCountry where t.key=resultValue.key; END LOOP; END;
Saya berharap ini bisa membantu.
sumber
Sekarang lebih mudah dengan studio manajemen 2016.
Menggunakan SQL Server Management Studio
Untuk menyalin data dari satu tabel ke tabel lainnya
1. Buka tabel dengan kolom yang ingin Anda salin dan yang ingin Anda salin dengan mengklik kanan tabel, lalu klik Desain .
2. Klik tab untuk tabel dengan kolom yang ingin Anda salin dan pilih kolom tersebut.
3. Dari menu Edit , klik Salin .
4. Buka jendela Editor Kueri baru.
5. Klik kanan Editor Kueri, lalu klik Kueri Desain di Editor .
6. Dalam kotak dialog Tambah Tabel , pilih tabel sumber dan tujuan, klik Tambah , lalu tutup kotak dialog Tambah Tabel .
7. Klik kanan area terbuka di Editor Kueri, arahkan ke Jenis Perubahan , lalu klik Sisipkan Hasil .
8. Di kotak dialog Pilih Tabel Target untuk Sisipkan Hasil , pilih tabel tujuan.
9. Di bagian atas Desainer Kueri, klik kolom sumber di tabel sumber.
10. Query Designer sekarang telah membuat query INSERT. Klik OK untuk menempatkan kueri ke dalam jendela Editor Kueri asli.
11. Jalankan query untuk memasukkan data dari tabel sumber ke tabel tujuan.
Untuk Informasi Lebih Lanjut https://docs.microsoft.com/en-us/sql/relational-databases/tables/copy-columns-from-one-table-to-another-database-engine
sumber
Ini dapat diselesaikan dengan menggunakan atribut yang berbeda.
sumber