Kemas kini Pertanyaan Menggunakan SELECT Subquery
Apabila bekerja dengan Microsoft Access 2007, mengemas kini medan dengan hasil pertanyaan SELECT memberikan cabaran. Walaupun Access menyokong pertanyaan SELECT dalam pertanyaan UPDATE, ia melarang agregat dalam bahagian UPDATE.
Pertimbangkan contoh berikut:
SELECT Query:
SELECT Min(TAX.Tax_Code) AS MinOfTax_Code FROM TAX, FUNCTIONS WHERE (((FUNCTIONS.Func_Pure)<=[Tax_ToPrice]) AND ((FUNCTIONS.Func_Year)=[Tax_Year])) GROUP BY FUNCTIONS.Func_ID;
KEMASKINI Pertanyaan:
UPDATE FUNCTIONS SET FUNCTIONS.Func_TaxRef = [Result of Select query]
Untuk menyelesaikan isu ini, penyelesaian diperlukan.
1. Tukar SELECT Query to Table:
Buat pertanyaan bernama 'YourQuery' dengan definisi berikut:
SELECT func_id, min(tax_code) as MinOfTax_Code FROM Functions INNER JOIN Tax ON (Functions.Func_Year = Tax.Tax_Year) AND (Functions.Func_Pure <= Tax.Tax_ToPrice) GROUP BY Func_Id
Kemudian, laksanakan pertanyaan Make Table:
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
Ini mencipta jadual bernama MinOfTax_Code yang mengandungi keputusan SELECT pertanyaan.
2. Lakukan Pertanyaan KEMASKINI:
Sekarang, laksanakan pertanyaan KEMASKINI:
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
Dengan memecahkan pengagregatan ke dalam jadual berasingan, Access membenarkan pengemaskinian jadual Fungsi dengan jayanya hasil pertanyaan PILIH.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kemas Kini Medan dalam Microsoft Access Menggunakan Hasil Pertanyaan PILIH dengan Agregat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!