0

SQL Server でこれが可能である理由を誰かに説明してもらえますか :

select column1 c,column2 d
from table1
order by c,column3

select句の後にorder by句が適用されるため、エイリアスを使用してcolumn1でソートできますが、取得していない列でソートするにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

1

オンライン ブックによると ( http://technet.microsoft.com/en-us/library/ms188385(v=sql.90).aspx )

ORDER BY 句には、選択リストに表示されない項目を含めることができます。ただし、SELECT DISTINCT が指定されている場合、またはステートメントに GROUP BY 節が含まれている場合、または SELECT ステートメントに UNION 演算子が含まれている場合は、ソート列が選択リストに含まれている必要があります。

さらに、SELECT ステートメントに UNION 演算子が含まれる場合、列名または列エイリアスは、最初の選択リストで指定されたものでなければなりません。

于 2013-10-17T17:35:56.090 に答える
0

選択で定義したエイリアスでselect column1 cソートしてから、選択に含めていないがテーブルにまだ存在する列でソートするように指示できます。これにより、データを選択することなく、データの式で並べ替えることができます。

Select cost, tax From table ORDER BY (cost*tax)
于 2013-10-17T17:37:17.740 に答える