Rumah > Soal Jawab > teks badan
Saya cuba menulis pertanyaan yang mengekstrak dan mengubah data daripada jadual dan kemudian memasukkan data tersebut ke dalam jadual lain. Ya, ini adalah pertanyaan gudang data dan saya melaksanakannya dalam MS Access. Jadi pada asasnya saya mahukan beberapa pertanyaan seperti ini:
INSERT INTO Table2(LongIntColumn2, CurrencyColumn2) VALUES (SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1);
Saya mencubanya tetapi mendapat mesej ralat sintaks.
Jika anda mahu melakukan ini, apa yang anda akan lakukan?
P粉9492671212023-10-11 14:11:14
Anda mempunyai dua pilihan sintaks:
Pilihan 1
CREATE TABLE Table1 ( id int identity(1, 1) not null, LongIntColumn1 int, CurrencyColumn money ) CREATE TABLE Table2 ( id int identity(1, 1) not null, LongIntColumn2 int, CurrencyColumn2 money ) INSERT INTO Table1 VALUES(12, 12.00) INSERT INTO Table1 VALUES(11, 13.00) INSERT INTO Table2 SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1
Pilihan 2
CREATE TABLE Table1 ( id int identity(1, 1) not null, LongIntColumn1 int, CurrencyColumn money ) INSERT INTO Table1 VALUES(12, 12.00) INSERT INTO Table1 VALUES(11, 13.00) SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 INTO Table2 FROM Table1 GROUP BY LongIntColumn1
Ingat bahawa pilihan 2 akan membuat jadual dengan hanya lajur pada unjuran (lajur pada SELECT).
P粉3221067552023-10-11 10:09:04
Tiada "NILAI", tiada kurungan:
INSERT INTO Table2(LongIntColumn2, CurrencyColumn2) SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM Table1 GROUP BY LongIntColumn1;