Rumah >pangkalan data >tutorial mysql >Bagaimana cara dengan betul dengan lajur alias di SQL Server?

Bagaimana cara dengan betul dengan lajur alias di SQL Server?

Patricia Arquette
Patricia Arquetteasal
2025-01-24 10:17:11981semak imbas

How to Correctly GROUP BY Aliased Columns in SQL Server?

Kumpulkan mengikut lajur alias dalam SQL Server

Melaksanakan operasi GROUP BY pada lajur beralias boleh menjadi rumit, tetapi memahami sintaks asas adalah penting. Mari kita terokai pendekatan yang betul.

Dalam contoh anda, lajur alias ialah 'FullName', yang dibuat menggunakan ungkapan 'LastName ', ' FirstName'. Untuk mengumpulkan mengikut alias ini, anda tidak boleh menggunakan alias seperti "KUMPULAN OLEH 'Nama Penuh'". Sebaliknya, anda perlu lulus ungkapan sebenar yang mencipta alias.

Sintaks yang betul ialah:

<code class="language-sql">SELECT LastName + ', ' + FirstName AS 'FullName'
FROM customers
GROUP BY LastName + ', ' + FirstName</code>

Dengan menyatakan ungkapan, anda boleh mengarahkan SQL Server untuk melaksanakan pengumpulan berdasarkan nilai terkira 'Nama Penuh', memastikan hasil yang tepat.

Mengembangkan lagi, jika lajur alias dieksport menggunakan pernyataan CASE, seperti dalam contoh kedua anda, prinsip yang sama digunakan. Klausa GROUP BY masih harus mengandungi ungkapan yang membentuk lajur alias, dalam kes ini:

<code class="language-sql">SELECT CASE
    WHEN LastName IS NULL THEN FirstName
    WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName
END AS 'FullName'
FROM customers
GROUP BY CASE
    WHEN LastName IS NULL THEN FirstName
    WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName
END</code>

Ingat, apabila mengumpulkan mengikut lajur alias, sentiasa gunakan ungkapan yang mencipta alias dalam klausa GROUP BY untuk memastikan pengagregatan data yang betul.

Atas ialah kandungan terperinci Bagaimana cara dengan betul dengan lajur alias di SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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