Mengemas kini Nilai Medan dengan Keputusan Pertanyaan PILIH dalam Akses
Tidak seperti sesetengah sistem pangkalan data, Microsoft Access tidak menyokong penggunaan fungsi agregat (cth. , MIN, MAX) terus dalam pertanyaan KEMASKINI. Untuk mengatasi had ini, seseorang boleh menggunakan pertanyaan SELECT untuk mendapatkan nilai yang diingini dan kemudian menggunakannya dalam pernyataan UPDATE.
Cabaran:
Diberi pertanyaan SELECT yang mendapatkan semula kod cukai minimum (MinOfTax_Code) untuk setiap fungsi berdasarkan kriteria tertentu, tugasnya adalah untuk mengemas kini medan Func_TaxRef dalam jadual FUNCTIONS dengan hasil pertanyaan PILIH ini.
Garis Penyelesaian:
Buat Pertanyaan untuk Mengira Cukai Minimum Kod:
Laksanakan pertanyaan SELECT berikut untuk mengira cukai minimum kod untuk setiap fungsi berdasarkan kriteria yang diberikan:
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;
Simpan pertanyaan sebagai "Permintaan Anda."
Buat Jadual untuk Menyimpan Hasil Pertanyaan :
Memandangkan Access tidak boleh mengemas kini pertanyaan dengan berbilang jadual, buat pertanyaan Buat Jadual untuk mengubah SELECT keputusan pertanyaan ke dalam jadual.
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
Ini akan membuat jadual bernama MinOfTax_Code yang mengandungi nilai FUNC_ID dan MinOfTax_Code.
Lakukan Pertanyaan KEMASKINI:
Akhir sekali, laksanakan perkara berikut KEMASKINI pertanyaan untuk mengemas kini medan Func_TaxRef dalam jadual FUNCTIONS berdasarkan nilai dalam jadual MinOfTax_Code:
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
Pertanyaan ini akan mengemas kini medan Func_TaxRef untuk setiap fungsi dengan kod cukai minimum yang sepadan yang dikira dalam SELECT pertanyaan.
Nota:
Menggunakan SQL dalam Access boleh mencabar kerana batasannya. Pertimbangkan untuk menggunakan platform pangkalan data yang lebih mantap, seperti SQL Server Express Edition, untuk operasi SQL yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Medan Jadual dalam Akses Menggunakan Hasil Agregat Pertanyaan SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!