SQL Server での GROUP BY 操作でのエイリアス列の使用
SQL Server では、エイリアス列に対して GROUP BY 操作を実行するには、特定の構文が必要です。必要な調整は次のとおりです:
GROUP BY 句でエイリアスを参照せず (GROUP BY 'FullName' など)、代わりにエイリアス自体を定義する式を使用してください。たとえば、エイリアス 'FullName' が LastName ', ' FirstName として定義されている場合、正しい GROUP BY 式は次のようになります:
<code class="language-sql">SELECT LastName + ', ' + FirstName AS 'FullName' FROM customers GROUP BY LastName + ', ' + FirstName</code>
この変更されたクエリは、計算された「FullName」式に基づいて GROUP BY 操作を正しく適用し、結果をグループ化します。
拡張子: CASE 式
同じ原則が CASE 式から派生したエイリアス列にも適用されます。次の例を考えてみましょう:
<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 LastName, FirstName</code>
ここで、GROUP BY 句には、「FullName」エイリアスを導出するために使用される CASE 式に含まれる LastName と FirstName がリストされています。これにより、「FullName」の計算に使用される基礎となる値に従って結果が確実にグループ化されます。
以上がSQL Serverでエイリアス列でグループ化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。