Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Melakukan Pengiraan Kompleks Menggunakan Lajur Dikira Bersarang dalam Paparan SQL?

Bagaimanakah Saya Boleh Melakukan Pengiraan Kompleks Menggunakan Lajur Dikira Bersarang dalam Paparan SQL?

DDD
Lepaskan: 2025-01-05 15:42:39
asal
701 orang telah melayarinya

How Can I Perform Complex Calculations Using Nested Calculated Columns in SQL Views?

Menggunakan Lajur Dikira untuk Pengiraan Kompleks dalam Paparan

Dalam SQL, lajur terkira ialah alat yang berharga untuk melanjutkan model data dalam paparan. Ia membolehkan anda memperoleh nilai baharu daripada lajur sedia ada, membuka kunci kemungkinan untuk analisis dan pembentangan yang lebih canggih. Walau bagaimanapun, apakah yang berlaku apabila anda perlu menggunakan lajur yang dikira itu sendiri sebagai sebahagian daripada pengiraan seterusnya dalam paparan yang sama?

Pertimbangkan senario biasa di mana anda mempunyai jadual dengan lajur berikut:

  • LajurA (Nombor)
  • LajurB (Nombor)
  • LajurC (Nombor)

Dalam salah satu pandangan anda, anda telah mencipta lajur terkira yang dipanggil calccolumn1 dengan hanya menambah LajurA dan LajurB. Sekarang, anda ingin menggunakan calccolumn1 untuk mengira lajur lain, calccolumn2, dengan membahagikan calccolumn1 dengan ColumnC.

Pertanyaan Awal

Pada mulanya, anda mungkin cuba menulis pertanyaan seperti berikut:

Select  
    ColumnA,
    ColumnB,
    ColumnA + ColumnB As calccolumn1
    calccolumn1 / ColumnC as calccolumn2
Salin selepas log masuk

Malangnya, ini tidak akan berfungsi kerana calccolumn2 tidak boleh rujuk calccolumn1 yang dikira sebelum ini secara langsung.

Pendekatan Pertanyaan Bersarang

Satu penyelesaian kepada masalah ini ialah menggunakan pertanyaan bersarang:

Select
    ColumnA,
    ColumnB,
    calccolumn1,
    calccolumn1 / ColumnC as calccolumn2
From (
    Select
        ColumnA,
        ColumnB,
        ColumnC,
        ColumnA + ColumnB As calccolumn1
    from t42
);
Salin selepas log masuk

Kaedah ini mencipta subkueri yang mengira pengiraan1. Pertanyaan utama kemudiannya boleh menggunakan calccolumn1 daripada subquery dalam pengiraannya.

Pendekatan Pengiraan Berulang

Pilihan lain, jika boleh, adalah dengan hanya mengulang pengiraan untuk calccolumn1 dalam pertanyaan utama:

Select
    ColumnA,
    ColumnB,
    ColumnA + ColumnB As calccolumn1,
    (ColumnA + ColumnB) / ColumnC As calccolumn2
from t42; 
Salin selepas log masuk

Pendekatan ini mengelakkan kerumitan pertanyaan bersarang, terutamanya apabila pengiraan untuk calccolumn1 agak mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Pengiraan Kompleks Menggunakan Lajur Dikira Bersarang dalam Paparan SQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan