Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memasukkan rekod yang diekstrak daripada jadual lain ke dalam satu jadual

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粉449281068P粉449281068362 hari yang lalu668

membalas semua(2)saya akan balas

  • P粉949267121

    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).

    balas
    0
  • P粉322106755

    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;

    balas
    0
  • Batalbalas