Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Berbilang Baris ke dalam Jadual Pelayan SQL daripada Subkueri Bukan Skalar?

Bagaimana untuk Memasukkan Berbilang Baris ke dalam Jadual Pelayan SQL daripada Subkueri Bukan Skalar?

Mary-Kate Olsen
Lepaskan: 2025-01-05 14:11:40
asal
686 orang telah melayarinya

How to Insert Multiple Rows into a SQL Server Table from a Non-Scalar Subquery?

Memasukkan Nilai ke dalam Jadual daripada Subkueri Bukan Skalar

Dalam SQL Server, memasukkan nilai ke dalam jadual berdasarkan subkueri yang mengembalikan berbilang keputusan boleh mencabar. Pertimbangkan senario berikut:

Anda mempunyai dua jadual:

  • artikel
  • harga

Anda mahu memasukkan baris ke dalam Jadual harga dengan nilai khusus untuk lajur kumpulan, id dan harga, di mana nilai id berada diperoleh daripada subkueri yang memilih ID yang sepadan daripada artikel jadual.

Pendekatan Salah:

Cuba menggunakan subkueri dengan lebih daripada satu hasil sebagai nilai untuk lajur dalam pernyataan INSERT boleh mengakibatkan ralat, kerana ditunjukkan oleh pernyataan SQL yang salah berikut:

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);
Salin selepas log masuk

Betul Penyelesaian:

Untuk menyelesaikan isu ini, gunakan pernyataan SELECT untuk mendapatkan semula nilai yang dikehendaki dan masukkannya ke dalam jadual sasaran. Tetapkan nilai tetap untuk lajur kumpulan dan price terus dalam pernyataan SELECT:

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';
Salin selepas log masuk

Dalam pernyataan ini, subquery kembali ID artikel yang sepadan dengan kriteria nama yang ditentukan, dan nilai pemalar 7 dan 1.50 secara eksplisit diberikan kepada Lajur kumpulan dan harga.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Berbilang Baris ke dalam Jadual Pelayan SQL daripada Subkueri Bukan Skalar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan